在selenium的setup方法中登录实例

时间:2016-04-13 14:34:32

标签: python django selenium-webdriver

我正在测试我正在使用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 ***

我尝试测试的大多数类都要求用户需要登录才能完成测试。

1 个答案:

答案 0 :(得分:1)

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