pytest学习(1)-执行方式与参数详解

  执行方式主要分为两种:

命令行执行

代码方式执行

1、命令行方式

1.在控制台执行 pytest

pytest学习(1)-执行方式与参数详解_第1张图片

2.在控制台指定执行范围

a.指定某个模块 pytest test_module.py

b.指定某个目录及其子目录的所有测试文件 pytest testcase

c.指定某个某块的某个方法 pytest test_module::test_function

d.指定执行某模块的某个类中的某个用例 用“::”分割 pytesy test_model.py::test_class::test_method

2、通过python代码执行pytest

1.直接执行pytest.main() 【自动查找当前目录下,以test_开头的文件或者以_test结尾的py文件】

2.设置pytest的执行参数 pytest.main(['--html=./report.html','test_login.py'])【执行test_login.py文件,并生成html格式的报告】

方式2中,执行参数和插件参数,通过[]进行分割,[]内的多个参数通过‘逗号,’进行分割


常用执行参数和插件参数

执行参数

指定测试模块   test_model.py:

指定测试目录   testing/

指定执行某模块的某个类中的某个用例    test_model.py::test_class::test_method   

生成html格式的报告         --html=./report.html         

第01次失败,就停止测试   -x 或--exitfirst

出现n个失败就终止测试   --maxfail=n   

执行被装饰器 @pytest.mark.slow 装饰的所有测试用例       -m slow     

注意,-m后面不能带''号(单引号),只能带“”(双引号),不然识别不到

如果要运行多个标识的话,用表达式,如下

pytest -m "slow or faster" 运行有slow标识或 faster标识用例

pytest -m "slow and faster"  运行有slow和faster标识的用例

pytest -m "slow and not faster"  运行有slow和没有faster标识的用例


自动导入包 pkg.testing,并使用该包所在的目录,执行下面的用例  --pyargs pkg.testing

显示print内容   -s

详细结果        -v, --verbose

极简结果显示   -q, --quiet

输出xml文件格式,在与jenkins做集成时使用  --junit-xml=path

将最后的结果保存到本地文件中  --result-log=path

插件参数

多进程跑用例 ,NUM填写并发的进程数 -n NUM 

重试运行cases    --reruns NUM

你可能感兴趣的:(pytest学习(1)-执行方式与参数详解)