Python-tomorrow应用于UI自动化的简单使用
阅读原文时间:2023年07月08日阅读:2

一、简介

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))

四、测试结果

自行测试比较,O(∩_∩)O哈哈~