我目前正在测试使用Selenium开发的网站。我唯一弄不明白的是如何创建一个登录实例,这样我的测试类就不必相互复合。
进一步解释:
class CreateListingTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.get("http://127.0.0.1:8000/")
*** create login instance here ***
def test_createListing(self):
driver = self.driver
*** continue with test method ***
我尝试测试的大多数类都需要用户登录才能完成测试。
Selenium的每个实例都是独立的,并且以干净的历史记录和没有cookie开始。您可以简单地实现一个登录页面对象:
class CreateListingTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
PageLogin(self.driver)
.visit()
.login(name, password)
def test_createListing(self):
driver = self.driver
*** continue with test method ***
class PageLogin(object):
url = "http://127.0.0.1:8000/"
def __init__(self, driver):
self.driver = driver
def visit(self):
self.driver.get(self.url)
...
return self
def login(self, name, password):
...
return self
def logout(self):
...
return self