遇到一个奇怪的问题,我用selenium+python+unittest来做UI的自动化测试,
我写了一些python文件,每个python文件里面有个class,class里面包括若干测试用例函数,为了提高测试效率,所以我使用了setUpClass 和 tearDownClass。 然后每个文件单独执行都是成功的,能运行到每条用例。
然后我写了一个send report的python文件,里面调用HTMLTestRunner的defaultTestLoader来执行整个所有的测试python文件,这时候只能成功执行第一个python文件里面的所有测试用例,从第二个python文件开始就报错了,说读不到配置文件。有大侠知道是怎么回事吗?
我的单独的python测试文件是:
import unittest from selenium import webdriver from time import * from Test.admin_adhocrequest import * from Test.read_config import * class AdhocRequestTest(unittest.TestCase,AdhocRequest_Page): @classmethod def setUpClass(cls): cls.driver = webdriver.Firefox() cls.driver.maximize_window() cls.config_read = ReadConfig() cls.url = cls.config_read.get_url() cls.admin_username = cls.config_read.admin_username() cls.admin_password = cls.config_read.admin_password() cls.login = Admin_Portal(cls.driver) cls.driver.get(cls.url) cls.login.login(cls.admin_username,cls.admin_password) cls.driver.implicitly_wait(5) @classmethod def tearDownClass(cls): cls.driver.quit()
def test_AR_001(self):
pass
def test_AR_002(self):
pass
send report文件是:
if __name__ == "__main__":
test_dir = "C:\\Test"
test_report = "C:\\Report"
discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
now = time.strftime("%Y-%m-%d_%H_%M_%S")
filename = test_report + '\\' + now + '_result.html'
fp = open(filename, 'wb')
runner = HTMLTestRunner(stream=fp, title=_Automation_Test_Report',
description='''
Automation Test starts at 18:00 everyday''')
runner.run(discover)
相似问题