执行多线程unittest和pytest
2021/12/10 6:17:12
本文主要是介绍执行多线程unittest和pytest,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#codin=utf-8 from selenium import webdriver from selenium.webdriver.common.by import By import time, unittest class TEST1(unittest.TestCase): # 类方法(不需要实例化类就可以被类本身调用) @classmethod def setUpClass(cls): # cls : 表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。 cls.dr = webdriver.Chrome() # 实例化方法(必须实例化类之后才能被调用) def test_01(self): # self : 表示实例化类后的地址id self.dr.get("http://www.baidu.com") self.dr.find_element(By.ID, "kw").send_keys("线程一") self.dr.find_element(By.ID, "su").click() time.sleep(3) assert self.dr.title == "线程一_百度搜索" def test_02(self): self.dr.get("http://www.baidu.com") self.dr.find_element(By.ID, "kw").send_keys("第二个线程") self.dr.find_element(By.ID, "su").click() time.sleep(3) assert self.dr.title == "第二个线程_百度搜索" def test_03(self): self.dr.get("http://www.baidu.com") self.dr.find_element(By.ID, "kw").send_keys("第3个线程") self.dr.find_element(By.ID, "su").click() time.sleep(3) assert self.dr.title == "第二个线程_百度搜索" @classmethod def tearDownClass(cls): cls().dr.quit() if __name__ == '__main__': unittest.main()
unittest执行
#coding=utf-8 import unittest, os, HTMLTestRunner from tomorrow3 import threads BASE_DIR = os.path.dirname(os.path.realpath(__file__)) # print(BASE_DIR) TEST_DIR = os.path.join(BASE_DIR, "test_dir") REPORT_DIR = os.path.join(BASE_DIR, "test_report") def test_suits(): """ 加载所有测试用例 """ discover = unittest.defaultTestLoader.discover( TEST_DIR, pattern="test_*.py" ) return discover @threads(3) #设置线程数 def run_case(all_case, nth=0): report_path = os.path.join(REPORT_DIR, "result{0}.html".format(nth)) with open(report_path, "wb") as file: runner = HTMLTestRunner.HTMLTestRunner(stream=file, title="多线程报告") runner.run(all_case) if __name__ == "__main__": cases = test_suits() for i, j in zip(cases, range(len(list(cases)))): run_case(i, nth=j)
pytest执行
#coding=utf-8 import os, pytest,time #当前文件所在目录 BASE_DIR = os.path.dirname(os.path.realpath(__file__)) # print(BASE_DIR) #测试文件目录 TEST_DIR = os.path.join(BASE_DIR, "test_dir") # print(TEST_DIR) #测试报告目录 REPORT_DIR = os.path.join(BASE_DIR, "test_report") if __name__ == '__main__': report_date = time.strftime("%Y-%m-%d_%H_%M_%S") report_file = os.path.join(REPORT_DIR, str(report_date) + "result.html") pytest.main([ "-n", "3", #设置线程数 "-v", "-s", TEST_DIR, "--html=" + report_file, ])
这篇关于执行多线程unittest和pytest的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南