我正在自动化我们的网站。我正在使用Python,Webdriver,unittest.TestCase
。
我在登录页面类中定义了一个测试方法,用于测试有效的用户登录。这很好。
现在我正在添加一个名为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种测试方法吗? 我做错了吗?
我的单元测试类代码段如下:
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()
答案 0 :(得分:2)
据我所知,您的意思是定义一个新的LoginPage
页面对象实例:
def test_login_invalid_user(self):
print "test_login_invalid_user"
login_page = page.LoginPage(self.driver)
如果是这种情况,请避免违反" DRY"原则并提高可读性,在LoginPage
中实例化setUp()
:
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