/ / Django pytest-selén funkčné testy - django, selén, funkčné testy

Django pytest-selénové funkčné testy - django, selén, funkčné testovanie

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ď č. 1

Mali 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