一、简介

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

Python-tomorrow应用于UI自动化的简单使用的更多相关文章

  1. airtest自动化中的poco+python连接手机实现ui自动化

    airtest:http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html官网地址 AirtestIDE:跨平台的UI自动化测试编 ...

  2. ATOMac - 基于Python的Mac应用Ui自动化库

    ATOMacTest 一.缘 起 近期工作需要对一款Mac端应用实现常用功能的自动化操作,同事推荐ATOMac这款工具,这几天简单研究了下,同时也发现现网介绍ATOMac的资料非常有限,故在此记录下A ...

  3. Python Selenium 搭建Web UI自动化

    Python搭建UI自动化环境 下载Python3 Python官网 PyCharm 环境配置 安装Python 勾选Add Python to PATH,一直下一步. 验证:CMD输入Python ...

  4. [python]pytest实现WEB UI自动化

    前言:其实这篇写的是pytest的测试框架运用,实现自动化和https://www.cnblogs.com/Jack-cx/p/9357658.html 原理一致 1.为啥不用unittest Pyt ...

  5. Python—UI自动化完整实战

    实战项目 均来源于互联网 测试报告2017年11月29日优化后的测试报告:https://github.com/defnngj/HTMLTestRunner 1.项目概述: 本实战已126邮箱为例子进 ...

  6. uiautomator +python 安卓UI自动化尝试

    使用方法基本说明:https://www.cnblogs.com/mliangchen/p/5114149.html,https://blog.csdn.net/Eugene_3972/article ...

  7. (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告

    前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...

  8. Python结合Pywinauto 进行 Windows UI 自动化

    转:Python结合Pywinauto 进行 Windows UI 自动化 https://blog.csdn.net/z_johnny/article/details/52778064 说明:Pyw ...

  9. Python UI自动化

    Python3--Uiautomator2--Pytest--Alure使用 官方源码GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiaut ...

  10. 完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能

    #!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input(" ...

随机推荐

  1. R grep

    SAIN<-FAIN[grepl("HE-H$",FAIN$rDD),,drop=TRUE]

  2. day47-Mysql初识

    1.数据库的演变过程-- 文件存储(不同用户之间数据格式不一致,杂乱)==> 软件开发目录规范(限定了储存的具体位置,不能网络通信)==>数据库 数据库就是一款基于网络通信操作文件的应用程 ...

  3. Python命令提示符:不是内部或外部命令,也不是可运行的程序或批处理文件

    Python原装IDE(Integrated Development Environment)安装时,需要确认更新pip(什么是 pip ?pip 是 Python 中的标准库管理器.它允许你安装和管 ...

  4. Sqoop连接数据库MySQL报错

    1.问题描述 (1)问题示例: [Hadoop@master TestDir]$ sqoop list-databases --connect jdbc:mysql://master:3306/ -- ...

  5. python-实现动态web服务器

    # encoding=utf-8 import socket from multiprocessing import Process import re import sys # 设置静态文件根目录 ...

  6. JS判断数据类型的4种方法

    4种判断方法分别是: typeof instanceof prototype属性 constructor属性 可判断的类型对比如下图: 实践代码如下: 1 // 构造函数名方法 2 function ...

  7. mac下webstrom卡顿快速解决办法

    vim /Applications/WebStorm.app/Contents/bin/webstorm.vmoptions 一路回车 直到看到: 按insert 将顶部以下两项原有值修改为以下值: ...

  8. Java-02对象传递和返回

    Java-02对象传递和返回 当你在"传递"一个对象的时候,你实际上是在传递它的引用 1引用 1.1传递引用 当你将一个引用传给方法后,该引用指向的仍然是原来的对象: /** * ...

  9. Web For Pentester靶场搭建 - XSS

    Web For Pentester是集成了一些简单的Web常见漏洞的靶场,其中有常见的XSS 文件上传 SQL注入 文件包含等常见漏洞,类似于DVWA Web For Pentester搭建 Web ...

  10. 14.AQS的前世,从1990年的论文说起

    大家好,我是王有志.关注王有志,一起聊技术,聊游戏,聊在外漂泊的生活. 鸽了这么久怪不好意思的,因此送一本<多处理器编程的艺术>,快点击此处参加吧.另外欢迎大家加入"共同富裕的J ...