执行多线程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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API