Vytvoril som priečinok testov, napísal svoj prvý test, ktorý by mal otvoriť prehliadač, ukázať na stránku a prihlásiť sa, potom prejsť na domovskú stránku.
Skúšobná prevádzka a zlyhanie, ako sa očakávalo, ale nemôžem zistiť prečo.
prehliadač by malo byť k dispozícii, pytest-selén sa inštaluje pomocou pipu.
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
čo mi chýba? Akákoľvek rada k príkladom tohto druhu testu je skutočne vítaná.
odpovede:
1 pre odpoveď č. 1Mali by ste nakonfigurovať self.browser vo vnútri funkcie setUp. Chýba vám tiež import pre Keys
. Kód by mal byť taký.
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()
Prečítajte si tiež dokumenty tu http://selenium-python.readthedocs.org/getting-started.html