首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTMLTestRunner执行所有的测试为什么只能成功执行第一个py文件?

HTMLTestRunner执行所有的测试为什么只能成功执行第一个py文件?

提问于 2022-10-11 08:33:02
回答 1关注 0查看 109

遇到一个奇怪的问题,我用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()

代码语言:javascript
复制
    def test_AR_001(self):
    pass

    def test_AR_002(self):
    pass

send report文件是:

代码语言:javascript
复制
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)

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档