Python-tomorrow应用于UI自动化的简单使用

一、简介

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哈哈~

 

posted @ 2023-03-01 10:14  莲(LIT)  阅读(72)  评论(0编辑  收藏  举报