一、简介
tomorrow属于第三方的一个模块,使用threads方法作为装饰器去修饰一个普通的函数,使其可以达到并发效果。使用起来非常简单。
二、安装
- pip install tomorrow
- 使用Pycharm安装
三、使用
1、项目结构
2、test_a.py
# -*- coding:UTF-8 -*- import unittest from selenium import webdriver from time import sleep ''' A 用例 ''' class Test_aa(unittest.TestCase): """AA""" @classmethod def setUpClass(self): global driver driver = webdriver.Chrome() driver.get("https://www.cnblogs.com/TSmagic/") def test_a_openurl(self): print("我是a") driver.quit()
其余两个用例与此相同,复制即可
3、run.py
# coding=utf-8 import unittest from framework.HwTestReport import HTMLTestReport from BeautifulReport import BeautifulReport from tomorrow import threads import datetime import time import os # 定义测试报告名称 now_time = str(datetime.datetime.now().strftime('%Y%m%d%H%M')) report_name = "report_" + now_time def test_suits(): # 加载所有测试用例 discover = unittest.defaultTestLoader.discover("kisskiss", pattern="test_*.py") return discover # 普通执行 def run_inorder(): suite = unittest.defaultTestLoader.discover("kisskiss", pattern="test_*.py") report_abspath = os.path.join("report", f"{report_name}.html") with open(report_abspath, 'wb') as f: # 改为with open 格式 HTMLTestReport(stream=f, verbosity=2, images=True, title='UI自动化-测试报告', description='tomorrow', tester='莲(Lit)').run(suite) # 线程数 @threads(3) def run(test_suit): result = BeautifulReport(test_suit) result.report(filename=f'{report_name}.html', description='tomorrow', log_path='report') if __name__ == "__main__": t_bg = time.time() run_inorder() # 普通执行 # cases = test_suits() # for i in cases: # run(i) # 执行测试用例,生成报告 t_fs = time.time() print("耗时:%.2f秒" %(t_fs - t_bg))
四、测试结果