全网最牛自动化测试框架系列之pytest(10)-常用执行参数说明_pytest(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

命令行形式

pytest -m “smoke or order”

-k 运行匹配指定字符串的测试用例

-k 指定字符串,用于匹配包名、模块名、类名、测试函数名/方法名,这些命名中包含指定的字符串则匹配并执行。

运行包名、模块名、类名、测试函数名/方法名中包含order的测试用例

pytest.main([“-k”, “order”])

命令行形式

pytest -k order

运行指定模块中的类名、测试函数名/方法名中包含order的测试用例

pytest.main([“-k”, “order”, “testcase/test_case.py”])

命令行形式

pytest -k login testcase/test_case.py

运行指定类中测试函数名包含order的测试用例

pytest.main([“-k”, “order”, “testcase/test_case.py::TestOrder”])

命令行形式

pytest -k order testcase/test_case.py::TestOrder

控制执行过程

用例失败重新执行次数

用例执行时有可能会出现某些偶然因素导致用例断言失败但实际又不是bug的情况,如网络波动导致响应时间慢,此时用例失败后再次去重新执行该用例就显得很重要。

pytest提供了一个常用的插件 pytest-rerunfailures,用于设置测试用例运行失败后的最多重新执行次数(即重试机制)。

使用之前需要先安装:pip install pytest-rerunfailures,使用方式如下:

运行失败后该用例重新运行最多3次

pytest.main([“–reruns”, “3”, “testcase/test_case.py”])

命令行形式

pytest --reruns=3 testcase/test_case.py

用例执行失败则停止运行

根据需求提供以下两种方式:

  1. -x或–exitfirst,遇到用例执行失败就停止项目的运行,只要失败就立即停止运行
  2. –maxfail=num,遇到多少次用例执行失败就停止项目运行,num表示用例运行失败次数

-x,遇到执行用例失败则停止整个项目的运行

pytest.main([“-x”, “testcase/test_case.py”])

命令行形式

pytest -x testcase/test_case.py

–maxfail,如累计有5次用例执行失败则停止整个项目的运行

pytest.main([“–maxfail”, “5”, “testcase/test_case.py”])

命令行形式

pytest --maxfail=5 testcase/test_case.py

运行上次失败用例

当bug修复完成后,我们可能只需要去执行上次运行失败的用例,在pytest中就提供了这样的功能,需要用到以下参数:

  1. –lf或–last-failed,只执行上次运行失败的用例,若上次运行没有失败用例则会执行全部用例。
  2. –ff或–failed-first,首先执行上次运行失败的用例,再执行项目中其他所有用例。

–lf,只执行上次运行失败的用例,若上次运行没有失败用例则会执行全部用例

pytest.main([“–lf”, “testcase/test_case.py”])

命令行形式

pytest --lf testcase/test_case.py

–ff,首先执行上次运行失败的用例,再执行项目中其他所有用例

pytest.main([“–ff”, “testcase/test_case.py”])

命令行形式

pytest --ff testcase/test_case.py

执行结果展示

与展示结果相关的常用的参数有以下几个:

  1. -s,在测试结果中显示测试用例里print的内容(执行结果默认不显示测试用例中print的内容)。
  2. -v,显示更详细的测试结果。
  3. -q,展示简略的测试结果,与-v作用刚好相反。

-s,测试结果中显示测试用例里print的内容

pytest.main([“-s”, “testcase/test_case.py”])

命令行形式

pytest -s testcase/test_case.py

-v,设置测试结果显示的详细程度

pytest.main([“-v”, “testcase/test_case.py”])

命令行形式

pytest -v testcase/test_case.py

-q,设置测试结果显示的详细程度

pytest.main([“-q”, “testcase/test_case.py”])

命令行形式

pytest -q testcase/test_case.py

示例

测试用例写在 testcase/test_case.py 中,项目执行代码写在与 testcase 同级目录的 run.py 中,简单示例如下:

test_case.py:

def test_01():
print(“执行test_01”)
a = “hello”
b = “hi”
assert a != b

def test_02():
print(“执行test_02”)
a = “hello”
b = “hi”
assert a == b

class TestOrder:

def test_order(self):
print(“下单”)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)**
[外链图片转存中…(img-5AM6vQTX-1713463956736)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值