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

Python-tomorrow应用于UI自动化的简单使用的更多相关文章
- airtest自动化中的poco+python连接手机实现ui自动化
airtest:http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html官网地址 AirtestIDE:跨平台的UI自动化测试编 ...
- ATOMac - 基于Python的Mac应用Ui自动化库
ATOMacTest 一.缘 起 近期工作需要对一款Mac端应用实现常用功能的自动化操作,同事推荐ATOMac这款工具,这几天简单研究了下,同时也发现现网介绍ATOMac的资料非常有限,故在此记录下A ...
- Python Selenium 搭建Web UI自动化
Python搭建UI自动化环境 下载Python3 Python官网 PyCharm 环境配置 安装Python 勾选Add Python to PATH,一直下一步. 验证:CMD输入Python ...
- [python]pytest实现WEB UI自动化
前言:其实这篇写的是pytest的测试框架运用,实现自动化和https://www.cnblogs.com/Jack-cx/p/9357658.html 原理一致 1.为啥不用unittest Pyt ...
- Python—UI自动化完整实战
实战项目 均来源于互联网 测试报告2017年11月29日优化后的测试报告:https://github.com/defnngj/HTMLTestRunner 1.项目概述: 本实战已126邮箱为例子进 ...
- uiautomator +python 安卓UI自动化尝试
使用方法基本说明:https://www.cnblogs.com/mliangchen/p/5114149.html,https://blog.csdn.net/Eugene_3972/article ...
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...
- Python结合Pywinauto 进行 Windows UI 自动化
转:Python结合Pywinauto 进行 Windows UI 自动化 https://blog.csdn.net/z_johnny/article/details/52778064 说明:Pyw ...
- Python UI自动化
Python3--Uiautomator2--Pytest--Alure使用 官方源码GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiaut ...
- 完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能
#!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input(" ...
随机推荐
- django中使用autocomplete无效查错
检查autocomplete是否工作正常,将自己的结果集注释掉,使用前端预设好的结果集var countries=["Afghanistan","Albania" ...
- 过滤器函数 filtes 的使用总结
// import parseTime, formatTime and set to filter /** * Show plural label if time is plural number * ...
- remove blank line
[$ cat all.experiments.csv.clean|sed -r '/^\s*$/d' > all.experiments.csv.clean2
- web自动化--窗口切换
窗口切换 handles = driver.window_handles ------获取所有窗口句柄,返回的数据是一个列表类型 driver.switch_to.window(handles[-1] ...
- 一、ptthon安装
1.在 Window 平台上安装 Python 的简单步骤,打开 WEB 浏览器访问:www.python.org,选择Downloads 2.然后在该页面选择需要下载的版本, 3.下载完成后直接双击 ...
- bug单建单规范
bug提单保证,清晰.简单.明了. 标题: [版本][服务器][模块][必现/偶现]bug标题(最短的话描述bug) 例:[0.9.0][dev][系统][必现]点击商店,跳转到仓库页面 bug模 ...
- 飞桨AI 文本实体抽取 数据准备(excel 文本标注)
网纸: https://ai.baidu.com/easydl/app/deploy/tee/public #!/usr/bin/env python3 # -*- coding: utf-8 -*- ...
- 什么是Placement new ?
1. 什么是placementNew placement new的作用就是:创建对象(调用该类的构造函数)但是不分配内存,而是在已有的内存块上面创建对象.用于需要反复创建并删除的对象上,可以降低分配释 ...
- k8sdeploy配置文件示例
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: [k8s服务名] namespace: default labels: ...
- Unity Joint用法及案例
目录 什么是Joint 有哪些Joint Joint计算原理 自由度配置 Axis与Anchor Limit与Spring Drive与Target Joint应用案例 车轮 旋转 悬挂系统 吊臂 旋 ...