pytest相关参数及allure生成report报告的相关参数
一、pytest断言:
借助python的运算符号和assert关键字来进行断言的
二、pytest的相关参数(可以在dos窗口执行,pytest --help进行查看)
pytest.main(['-s','-v'])
1、-s 输出打印信息到控制台,关闭捕捉;(如果要生成报告,就需要去掉该参数)
2、-v 显示具体的用例执行的详细信息;(包括测试方法名称,状态也是完整的PASSED、FAILED,而不是缩写.或F);
3、-k 执行包含关键字的用例
如pytest.main(['-sv','-k','zzz']),这样测试方法或测试函数名称里带kkk的会被选中
4、-q 简化输出信息
5、-x 出现一条测试用例失败,则退出测试;
5.1 用例失败控制,在第n个用例执行失败之后,结束测试执行
pytest.main(['--maxfail==3'])
5.2 失败用例重跑,安装库:pytest-rerunfailures,pip install pytest-rerunfailures
pytest.main(['--reruns','3','xxx.py']) # xxx.py脚本的测试用例,如果运行失败,会重试3次;
pytest.main(['--reruns','3','--reruns-delay','2','xxx.py']) #在每次重跑之前,增加延迟时间
6、指定目录或特定类或方法;直接加目录,到文件里的话使用::来进行目录层次划分,如./x/xx.py::类名::测试方法名
pytest.main(['-s','./doc/test_02.py::Testclass::test03'])
7、-m 通过标记来执行
pytest.main( ['-m','smoke'] )
通过标签来执行的话;a/需要在pytest.ini创建标签;b/ 在用例上方设置标签 @pytest.mark.xxx; c/选择对应标签执行,pytest.main([;-m','xxx'])
8、并发执行,需要安装pytest-xdist库,安装命令,Pip install pytest-xdist
pytest.main(['-n','2','xxx.py]) #将测试执行发送到2个cpu
二、allure报告相关参数
1、生成报告相关
--alluredir=dir 指定报告的数据源文件目录路径
--clean-alluredir 每次情空
--allure-no-capture 不加载logging/stdout/stderr文件到报告( 这个我目前还没用到过)
# 生成allure报告的数据源文件,json格式;--clean是每次清空 pytest.main(['--alluredir','./results','--clean-alluredir','./case/test_excel_V41.py']) # 生成allure报告,此处的--clean是保证在一个目录里重复生成allure报告(不加的话,只能生成一次,为了误操作覆盖);此处的-o 是输出报告,./report # 是输出报告的名称; # allure generat + 数据源文件目录 -o + 报告的目录 ; os.system('allure generate ./results -o ./report --clean')
2、allure的环境配置
环境配置这块回头需要研究下
allure的环境配置
1,添加文件environment.properties, 添加到allure的报告数据中result下面
文件格式如下:
systemVersion=win10
pythonVersion=3.7.9
allureVersion=2.9.43
baseUrl==10.0.0.119:8080
projectName=test
author=Matt, nick
email=plz0927@163.com
注:环境配置不支持中文
2,添加环境配置2:添加文件environment.xml ,添加到allure的数据报告目录,result下
文件格式:
Browser
Chrome
Broswer.Version
63.0
Stand
Production
一、pytest的相关参数的其他参数
生成junit xml格式测试报告
pytest.main(['-s','--junit-xml=./report/log01.xml'])
执行标记的用例
pytest.main(['-s','-m','slow'])
执行未标记的用例
pytest.main(['-s', '-m', 'not slow'])用例失败控制,第n个用例失败后,结束测试执行
--maxfail=n
通过标记表达式执行
pytest -m slow (该命令会执行被装饰器@pytest.mark.show装饰的所有测试用例)
多进程运行测试用例
pip install pytest-xdist (安装pytest-xdist)
运行模式
pytest -n NUMCPUS
重新运行失败用例
pytest-rerunfailures (是一个可以使pytest重新运行的测试插件,消除间歇性故障)
pip install pytest-rerunfailures (安装该插件)
参考博客:https://www.cnblogs.com/look888/p/15167248.html
浙公网安备 33010602011771号