1、--collect-only
查看在给定的配置下哪些测试用例会被执行
2、-k
使用表达式来指定希望运行的测试用例。如果测试名是唯一的或者多个测试名的前缀或者后缀相同,可以使用表达式来快速定位,例如:
命令行-k参数.png
3、-m
标记(marker)用于标记测试并且分组,以便快速选中并运行。使用 @pytest.mark 来标记。
- 可以使用 -m "mark1 and mark2" 同时选中贷有这两个标记的所有测试用例。
- 使用 -m "mark1 and not mark2" 则会选中有mark1的测试用例,而过滤掉 mark2 的测试用例。
- 使用 -m "mark1 or mark2" 选中带有 mark1 或者 mark2 的所有测试用例
4、-x
正常情况下 pytest 会运行每一个搜集到的测试用例。如果某个测试用例断言失败,或者触发了异常,那么该测试用例的运行就会到此停止。pytest 会将其标记为失败后继续运行下一个测试用例。但是在 debug 时,如果需要遇到失败立即停止整个会话可以加上 -x。调试完成后可以去掉 -x,可以使用 -tb=no 关闭错误信息回溯。
5、--maxfail=num
-x 是遇到失败就停止运行,而 --maxfail 则可以指定允许失败几次,达到最大失败次数以后停止运行
6、-s 与 --capture=method
-s 等价于 --capture=no ,关闭了输出捕获。正常情况下,任何符合标准的输出流信息都会被捕获。--capture=fd 时,若文件描述符(file descriptor)为1或者2,则会被输出至临时文件中。使用 --capture=sys 时sys.stdout/stderr 将会被输出至内存。
7、-l/--showlocals
在测试失败时会打印出局部变量名和他们的值以避免不必要的 print 语句
8、--if/--ff
当一个或者多个测试用例失败时,如果希望定位到最后一个失败的用例重新运行,可以使用 --lf。--ff 与 --lf 基本相同,不同的在于 --ff 会运行完剩余的测试用例
9、-v
使得输出信息更详细,不加的情况下每个文件显示一行,加了以后每条用例显示一行,测试名与结果都会显示出来而不仅仅是一个点或者一个字符
10、-q
与 -v 相反,简化输出信息。
11、--tb=style
- --tb=style:决定捕捉到的失败时输出信息的显示方式。
- --tb=no:屏蔽全部回溯信息
- --tb=line:打印错误的位置
- --tb=short:较 no 和 line 更详细,给出错误信息
- --tb=long:输出最为详细的信息
- --tb=auto:默认值,如果有多个用例失败,仅打印第一个和最后一个用例的回溯信息,格式为 long
- --tb=native:只输出 Python 标准库的回溯信息
12、--duration=N
可以加快测试节奏,统计测试过程中哪个阶段时最慢的,包括测试用例的 call、setup、teardown。他会显示最慢的 N 各阶段,耗时越长越靠前,如果 N = 0,则会将所有阶段按照耗时从长到短排序后显示
【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!
生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!
只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!