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

 

posted @ 2022-08-30 11:24  袁小文子  阅读(765)  评论(0)    收藏  举报