知识出处:码尚学院
局部安装插件(适用当前项目):
模块、测试类,测试方法要求:
指定模块运行:
pytest.main([-s]) 打印
pytest.main([-vs],用例名),在all里面。
运行方式:
例如:加上::类名::方法名
-n 支持多线程运行用例或者分布式运行
pytest -vs 用例路径 -n 2
pytest.main(['-vs, '用例路径', -n=2])
多线程怎么运行?gw是线程 gw0是线程1,gw1是线程2;
线程顺序 线程-n后面试基数时:
偶数时
--reruns num 失败用例重跑num次,UI测试元素不稳定时。
pytest.main([-vs ,'用例路径',--return = 2])
pyetst -vs 路径 --reruns 2
-X只要有一个用例报错,那么测试就停止
--MAXFAIL=2 出现2个用例fail测试停止
pytest的执行顺序:
按顺序执行
如果想改变只想顺序,使用mark装饰器
@pytest·mark·run(order=1)
第三种执行方式:pytest.ini配置文件。适用此文件可以改变其默认规则,可以执行不是以test开头或者结尾的py文件。
分组执行:
指定测试某些模块时,可以用自定义的标记方法mark ,
@pytest·mark·smoke 比如冒烟测试,可以自定义为smoke
标记某些测试用例为冒烟测试后,在pytest.ini文件中加上如下内容。pytest.ini在根目录下。
在命令窗口执行的命令如下:
pytest -vs -m "smoke" pytest.ini文件有-vs就可以自动识别,不用重复写
既要执行冒烟又要执行用户管理 两个定义之间加 ‘’or‘’
pytest -vs -m "smoke or usermange"
跳过某个测试用例
@pytest·mark·skip(reason='') #无条件跳过
@pytest·mark·skip(age>=18,reason='')
生成报告,在pytest.ini里面加入
--html 目录 生成HTML的测试报告