前言: 实际项目中的用例数量会非常多,几百上千:如果采用单进程串行执行的话会非常耗费时间.假设每条用例耗时2s,1000条就需要2000s $\approx$ 33min:还要加上用例加载.测试前/后置套件等耗时:导致测试执行效率会相对低. 想象一下如果开发改动一块代码,我们需要回归一下,这时候执行一下自动化用例需要花费大半个小时或者好几个小时的时间,这是我们无法容忍的. 为了节省项目测试时间,需要多个测试用例同时并行执行:这就是一种分布式场景来缩短测试用例的执行时间,提高效率. 分布式执行用例…
前言 假设执行一条脚本(.py)用例一分钟,那么100个脚本需要100分钟,当你的用例达到一千条时需要1000分钟,也就是16个多小时... 那么如何并行运行多个.py的脚本,节省时间呢?这就用到多线程了,理论上开2个线程时间节省一半,开5个线程,时间就缩短五倍了. 项目结构 1.项目结构跟之前的设计是一样的: case test开头的.py用例脚本 common 放公共模块,如HTMLTestRunner report 放生成的html报告 run_all.py 用于执行全部脚本 2.case…
前言 假设执行一条脚本(.py)用例一分钟,那么100个脚本需要100分钟,当你的用例达到一千条时需要1000分钟,也就是16个多小时... 那么如何并行运行多个.py的脚本,节省时间呢?这就用到多线程了,理论上开2个线程时间节省一半,开5个线程,时间就缩短五倍了. 项目结构 1.项目结构跟之前的设计是一样的: · case test开头的.py用例脚本 · common 放公共模块,如HTMLTestRunner · report 放生成的html报告 · run_all.py 用于执行全部脚…
python--selenium多线程执行用例实例/执行多个用例 我们在做selenium测试的时候呢,经常会碰到一些需要执行多个用例的情况,也就是多线 程执行py程序,我们前面讲过单个的py用例怎么执行和生产html报告,下面给大家 介绍下多个用例怎么执行并自动生成html报告. 一.  写好每个测试用例,如我vpn_register/vpn_boot/vpn_check/vpn_buy/vpn_longin/, 我这里写了六条用例,当然每个用例下还是有分支的测试点. 上面是一个例子,其他的不…
首先我们来了解下python中的进程,线程以及协程! 从计算机硬件角度: 计算机的核心是CPU,承担了所有的计算任务.一个CPU,在一个时间切片里只能运行一个程序. 从操作系统的角度: 进程和线程,都是一种CPU的执行单元. 进程:表示一个程序的上下文执行活动(打开.执行.保存...) 线程:进程执行程序时候的最小调度单位(执行a,执行b...) 一个程序至少有一个进程,一个进程至少有一个线程. 并行 和 并发: 并行:多个CPU核心,不同的程序就分配给不同的CPU来运行.可以让多个程序同时执行…
在用例执行的过程中,想要用多进程并发执行测试用例,如何实现呢,其实很简单,pytest有对应的模块,安装方式. 安装 pip install pytest-xdist 使用 pytest test_demo.py -n 2 -s -n 2 表示以两个进程的方式并行执行自动化测试用例,默认以用例层面进行分配(用例之间不能有依赖关系) -n auto 按照cpu核数自动生成多个进程 --dist=loadfile 改变分布式执行用例时的分配模式,按照测试文件进行分配(测试文件之间不能有依赖关系) -…
前言 假设执行一条脚本(.py)用例一分钟,那么100个脚本需要100分钟,当你的用例达到一千条时需要1000分钟,也就是16个多小时...那么如何并行运行多个.py的脚本,节省时间呢?这就用到多线程了,理论上开2个线程时间节省一半,开5个线程,时间就缩短五倍了. 项目结构 1.项目结构跟之前的设计是一样的: case test开头的.py用例脚本 common 放公共模块,如HTMLTestRunner report 放生成的html报告 run_all.py 用于执行全部脚本 2.case文…
1.官方文档上说pytest兼容unittest时,不支持setUpModule 和 tearDownModule,但实际验证是可以的. 验证的场景是py文件中,只有一个测试类, 经验证有多个测试类,使用pytest时,setUpModule 和 tearDownModule 也不生效. 所以不知道不支持的是什么场景? 2.生成html报告 安装pytest-html 需要在cmd中执行命令:py.test test_class.py --html=./report.html 因为同时存在pyt…
前言 假设执行一条脚本(.py)用例一分钟,那么100个脚本需要100分钟,当你的用例达到一千条时需要1000分钟,也就是16个多小时... 那么如何并行运行多个.py的脚本,节省时间呢?这就用到多线程了,理论上开2个线程时间节省一半,开5个线程,时间就缩短五倍了. tomorrow安装,用pip可以直接安装.该库用于产生异步代码的神奇的装饰器语法实现! pip install tomorrow 项目结构 1.项目结构跟之前的设计是一样的: case test开头的.py用例脚本 common…
前言 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了. 加载用例后,用unittest里面的TextTestRunner这里类的run方法去一次执行多个脚本的用例. unittest模块中的TestLoader类有一个discover方法(Python2.7之后)discover(start_dir, pattern='test*.py',top_level_dir=None)递归查找指定目录(s…