2016-02-06 7 views
0

Я создал папку тестов, написал свой первый тест, который должен открыть браузер, указать страницу и войти в систему, а затем перейти на домашнюю страницу.Django pytest-selenium функциональные тесты

Тестирование и сбой, как и ожидалось, но я не могу понять, почему.

браузер должен быть доступен, pytest-selenium устанавливается пипсом.

import pytest 

from django.contrib.auth.models import Group, Permission, User 
from django.test import TestCase, RequestFactory 

class CreaPageTest(TestCase): 
    def setUp(self): 
     self.factory = RequestFactory() 
    def test_homepage(self): 
    request = self.client.get('/new') 
    request.user = self.user 
    self.assertEqual(request.status_code, 200) 

    def test_login(self): 
    request = self.client.get('/per/login') 

    username_field = self.browser.find_element_by_name('username') 
    username_field.send_keys('peppa') 

    password_field = self.browser.find_element_by_name('password') 
    password_field.send_keys('pig') 
    password_field.send_keys(Keys.RETURN) 

    test_homepage() 


>  username_field = self.browser.find_element_by_name('username') 
E  AttributeError: 'CreaPageTest' object has no attribute 'browser' 

tests/test_ore_app_views.py:27: AttributeError 

что мне не хватает? Любые рекомендации к примерам такого теста действительно оценены.

ответ

1

Вы должны настроить self.browser внутри функции setUp. Вам также не нужен импорт для Keys. Код должен быть таким.

import pytest 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from django.contrib.auth.models import Group, Permission, User 
from django.test import TestCase, RequestFactory 

class CreaPageTest(TestCase): 
    def setUp(self): 
     self.factory = RequestFactory() 
     self.browser = webdriver.Firefox() 

Также, пожалуйста, обратитесь к документации, здесь http://selenium-python.readthedocs.org/getting-started.html

Смежные вопросы