pytest --help 可以查看pytest提供的所有参数,下面主要介绍常用的几种:
1、 -v 参数
打印详细运行日志信息,一般在调试的时候加上这个参数,终端会打印出每条用例的详细日志信息,方便定位问题。 使用方法如下:
pytest -v
2、-s 参数
控制台输出结果,当你的代码里面有print输出语句,如果想在运行结果中打印print输出的代码(默认控制台是不输出打印结果的),在运行的时候可以添加 -s 参数,一般在调试的时候使用。使用方法如下:
pytest -s
3、-k 参数
只执行含有某个关键字的测试用例。
应用场景:在测试场景中,如果只想执行某些测试用例,或者测试用例中包含某个关键字的测试用例时,可以使用这个参数。
使用方法如下:
pytest -k "类名"
pytest -k "方法名"
pytest -k "类名 and not 方法名"
注意:如果是Windows系统,-k 后面的字符串参数必须用双引号。Mac上仅第三个需要加双引号。
4、-x 参数
遇到用例失败立即停止运行。
应用场景:
在回归测试过程中,假如一共有10条基础用例,当开发人员打完包提交测试的时候,需要先运行这10条基础用例,全部通过才能提交给测试人员正式测试。如果有一条用例失败,就将这个版本打回给开发人员。这时就可以添加 -x 参数,一旦发现有失败的用例即终止运行。
使用方法如下:
pytest -x
5、--maxfail 参数
用例失败个数达到阈值停止运行。
应用场景:
在回归测试过程中,假如一共有10条基础用例,当开发人员打完包提交测试的时候,需要先运行这10条基础用例,全部通过才能提交给测试人员正式测试,如果运行过程中有 [num] 条用例失败,即中止运行,后面测试用例都放弃执行,直接退出。这时就可以使用 --maxfail 参数。
使用方法如下:
pytest --maxfail==[num]
6、 -m 参数
将运行有 @pytest.mark.[标记名] 这个标记的测试用例。
应用场景:
在自动化测试过程中可以将测试用例添加标签进行分类,比如登录功能、搜索功能、书城功能、个人主页功能等,在运行的时候可以只运行某个功能的所有的测试用例,比如这个版本只想运行登录功能,那就在所有登录功能的测试用例方法上面加上装饰符 @pytest.mark.login 命令就可以只执行登录功能这部分的测试用例。
使用方法如下:
pytest -m [标记名]
小彩蛋:遇到运行pytest标签警告,具体如下:
执行命令
执行结果(仅截取部分):
具体原因:
pytest.ini 配置文件中,未包含 login 标签
解决方案:
在项目下新建一个pytest.ini的配置文件,里面如下配置即可。markers=后面是标签名,如有多个,第二个开始要换行,且要缩进,不然会报错。
写在最后的话:小白同学愿意和大家一起成长~