1.主函数模式
(1) 运行所有 : pytest main()
(2) 指定模块 : pytest main(['-vs','模块名.py'])
(3) 指定目录 : pytest main(['-vs','./目录名'])
(4) 通过nodeid指定用例运行 : nodeid由模块名,分隔符,类名,方法名,函数名组成。
pytest main(['-vs', '模块名.py::方法名'])
pytest main(['-vs','模块名.py::类名::方法名'])
2.命令行模式
(1) 运行所有 : pytest
(2) 指定模块 : pytest -vs 模块名.py
(3) 指定目录 : pytest -vs ./目录名
(4) 指定目录 : pytest -vs 模块名.py::类名::方法名
参数详解:
-s : 表示输出调试信息,包括print打印的信息
-v : 显示更详细的信息
-vs : 这两个参数一起用
-n : 支持多线程或者分布式运行测试用例。
如:pytest -vs 模块名.py -n 2 或者 pytest main(['-vs','模块名.py','-n=2'])
--reruns : 重跑次数 :失败用例重跑
-x : 表示只要要一个用例报错,那么测试停止,
--maxfail=2 : 出现两个用例失败就停止。
-k : 根据测试用例的部分字符串指定测试用例。如:pytest -k "aaa" (即执行测试名包含aaa的测试用例)
--html ./report/report.html : 再report目录生成文件名为report的html测试报告。
3.通过读取pytest.ini全局配罟文件运行
pytest.ini这个文件它是pytest单元测试框架的核心配置文件。
(1) 位置:一般放在项目的根目录
(2) 编码:必须是ANSI,可以使用notpad++修改编码格式。
(3)作用:改变pvtest默认的行为。
(4) 运行的规则;不管是主函数的模式运行,命令行模式运行,都会去读取这个配置文件。
[pytest]
addopts = -vs #命令行的参数,用空格分隔
testpaths = ./testcase #测试用例的路径 (如:根目录的testcase目录下)
python_files = test_*.py #模块名的规则
python classes = Test* #类名的规则
python_functions = test #方法名的规则
markers=
smoke:冒烟用例
usermanage用户管理模块
productmanage商品管理模块
注:分组执行(冒烟、分模块执行、分接口和web执行)
smoke:冒烟用例,分布在各个模块里面
pytest -m "smoke"
pytest -m "smoke or usermanage or productmanage"
版权归原作者 Ye_xiaoMing 所有, 如有侵权,请联系我们删除。