【问题标题】:I am using unittest.TestCase if i have more than 1 test case it will not run. Only 1 test case runs我正在使用 unittest.TestCase 如果我有超过 1 个测试用例,它将不会运行。仅运行 1 个测试用例
【发布时间】:2015-07-23 04:15:21
【问题描述】:

我正在自动化我们的网站。我正在使用 Python,Webdriver,unittest.TestCase

我在我的登录页面类中定义了 1 个测试方法,用于测试有效的用户登录。效果很好。

现在我添加了一个名为 test_login_invalid_user 的第二个测试方法来测试无效的用户登录。我只是浏览到登录页面开始查看当我运行我的测试时是否调用了第二个测试方法。

当我运行我的代码时,我收到以下错误:

Traceback (most recent call last):
File "C:\Users\riaz.ladhani\PycharmProjects\Selenium Webdriver\ClearCore  \LoginPage_TestCase.py", line 40, in test_login_invalid_user
login_page = page.login(self.driver)
AttributeError: 'module' object has no attribute 'login'

我的单元测试中不能有超过 1 种测试方法吗? 我做错了吗?

我的单元测试类代码sn-p如下:

import unittest
from selenium import webdriver
import page
import time

class LoginPage_TestCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Ie("C:\QA\Automation\Python_projects\Selenium  Webdriver\IEDriverServer_Win32_2.45.0\IEDriverServer.exe")
        self.driver.get("http://riaz-pc.company.local:8080/clearcore")

    def test_login_valid_user(self):
        login_page = page.LoginPage(self.driver)
        login_page.userLogin_valid()
        login_page.isAdministration_present()
        assert login_page.isAdministration_present(), "Administration not found"
        if login_page.isAdministration_present() == "true":
            print "test login with a valid user passed"
        else:
            print "test login with a valid user failed"

    def test_login_invalid_user(self):
        print "test_login_invalid_user"
        login_page = page.login(self.driver)

    def tearDown(self):
        self.driver.close()

if __name__ == "__main__":
    unittest.main()

【问题讨论】:

    标签: python testing selenium-webdriver webdriver python-unittest


    【解决方案1】:

    据我了解,您的意思是定义一个新的 LoginPage 页面对象实例:

    def test_login_invalid_user(self):
        print "test_login_invalid_user"
        login_page = page.LoginPage(self.driver)
    

    如果是这种情况,为避免违反“DRY”原则并提高可读性,请在setUp() 中实例化LoginPage

    class LoginPage_TestCase(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Ie("C:\QA\Automation\Python_projects\Selenium  Webdriver\IEDriverServer_Win32_2.45.0\IEDriverServer.exe")
            self.driver.get("http://riaz-pc.company.local:8080/clearcore")
    
            self.login_page = page.LoginPage(self.driver)
    
        def test_login_valid_user(self):
            self.login_page.userLogin_valid()
            self.login_page.isAdministration_present()
            assert self.login_page.isAdministration_present(), "Administration not found"
            if self.login_page.isAdministration_present() == "true":
                print "test login with a valid user passed"
            else:
                print "test login with a valid user failed"
    
        def test_login_invalid_user(self):
            print "test_login_invalid_user"
            # use self.login_page here
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 2017-01-16
      • 2017-04-03
      • 2017-05-12
      • 2020-01-26
      • 2013-05-11
      • 1970-01-01
      相关资源
      最近更新 更多