HTMLTestRunner执行所有的测试为什么只能成功执行第一个py文件?
本帖最后由 sanjieyu 于 2022-10-7 08:02 编辑遇到一个奇怪的问题,我用selenium+python+unittest来做UI的自动化测试,我写了一些python文件,每个python文件里面有个class,class里面包括若干测试用例函数,为了提高测试效率,所以我使用了setUpClass和 tearDownClass。 然后每个文件单独执行都是成功的,能运行到每条用例。然后我写了一个sendreport的python文件,里面调用HTMLTestRunner的defaultTestLoader来执行整个所有的测试python文件,这时候只能成功执行第一个python文件里面的所有测试用例,从第二个python文件开始就报错了,说读不到配置文件。有大侠知道是怎么回事吗?
我的单独的python测试文件是:import unittest
from seleniumimport webdriver
from timeimport *
from Test.admin_adhocrequestimport *
from Test.read_configimport *
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)
我觉得问题大概率是出在了每个py文件里面的setUpClass和 tearDownClass上面,但我不知道具体原因,也不知道如何去修改。
页:
[1]