news 2026/3/3 16:07:24

Pytest自动化测试实战之执行参数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Pytest自动化测试实战之执行参数

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

上一篇介绍了如何运行pytest代码,以及用例的一些执行规则,执行用例发现我们中间print输出的内容,结果没有给我们展示出来,那是因为pytest执行时,后面需要带上一些参数。

参数内容

我们可以在cmd中通过输入 pytest -h 或者pytest --help 来查看帮助内容

奈何安静屏幕小,只写了一部分。

安静这么多一点点的给大家介绍,有的安静也没有遇到过,在后续遇到后,给大家分享,安静先把常用的给大家列出来,并且举例说明

安静简单的用一段代码进行展示,后面有需要补充的,安静会进行在代码中补充。

import pytest class Test_01: def test_001(self): print('Test_01下的用例001') assert 1 == 1 def test_002(self): print('Test_01下的用例002') assert 1 == 2 def test_003(self): print('Test_01下的用例003') assert 3 == 3 if __name__ == '__main__': pytest.main()

pytest - s

-s:执行用例,携带详细信息,比如打印的print内容

通过cmd进行执行,发现已经详细内容展示出来了

pytest -x

-x:遇到错误的用例,立即退出执行,并输出结果

从上图可以看到一共3条用例,执行了2条,其中执行到第2条的时候就已经程序就退出了。

pytest -k

-k:表示加需要执行的用例项,-k后面可以是测试函数名,也可以是类名,也可以是模块名,以及目录名称

也可以通过加入not来不执行一些用例,这里的not要和用例名放在一起用引号

pytest xxx.py

::类::用例:可以通过这种形式进行指定用例执行

pytest -m

-m:执行被标记的用例

标记需要用到pytest中的装饰器 @pytest.mark.标记名称

import pytest class Test_01: @pytest.mark.anjing def test_001(self): print('Test_01下的用例001') assert 1 == 1 def test_002(self): print('Test_01下的用例002') assert 1 == 2 @pytest.mark.anjing def test_003(self): print('Test_01下的用例003') assert 3 == 3 if __name__ == '__main__': pytest.main()

pytest -v

-v:表示查看详细的报告内容

pytest -q

-q:表示简则的测试报告,运行成功通过“.”表示,运行失败通过"F"表示

pytest --collect-only

--collect-only:表示把待执行的用例全部展示出来。

pytest --maxfail=n

--maxfail=n:其中n表示失败的次数,运行失败n次后,进行停止测试

# coding:utf-8 class Test: def test_01(self): print('这是用例01') assert 1 == 1 def test_02(self): print('这是用例02') assert 1 == 2 def test_03(self): print('这是用例03') assert 3 == 4 def test_04(self): print('这是用例04') assert 4 == 4

pytest --lf

--lf:只执行上次失败的用例

pytest --tb

--tb=no:不展示用例失败的错误详情

--tb=line:展示用例失败的代码具体行数。下图结果是在11行

--tb=short:展示更加详细的错误信息

pytest --durations

--duration=N:表示把最耗时间的用例展示出来,N表示最慢的N个

安静的代码运行都很快,把其中一个代码加上睡眠,从图中可以看出来,test_01文件中的test_03运行最慢。

安静简单的列举了常用的几种,大家如果还想要了解可以查阅官方文档和进行pytest -h 查看详情

写在最后

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/4 8:25:24

今天我终于明白了:为啥老程序员都不爱带新人

最近在准备前端面试时,被一道基础题难住了:“请手写防抖函数,兼容边界场景并说明在项目中怎么用”。我翻了不少资料才弄懂,转头就跟身边的老程序员吐槽“这题对新人也太不友好了”,结果他一句话点醒我:“不…

作者头像 李华
网站建设 2026/2/28 13:52:05

Altium Designer内PCB走线电流关系图解说明

走线宽度怎么定?别再靠猜了——Altium Designer中PCB载流能力的科学设计法你有没有遇到过这种情况:板子打回来一上电,某段电源走线“滋”地冒烟,芯片还没工作就烧了;或者机器跑着跑着突然保护关机,拆开一看…

作者头像 李华
网站建设 2026/3/4 5:04:10

诗歌天地:我该用多大的比例尺,来绘制自己这一生的地图?

11. 【进化之镜 无目的的宏伟设计】没有蓝图,只有试错。生命用亿万年的死亡作为学费,才学会如何更好地生存。这过程盲目、残酷,且效率低下,却最终雕刻出了羚羊的跳跃、鹰隼的视觉与人类追问“为什么”的大脑皮层。12. 【相对之镜…

作者头像 李华
网站建设 2026/3/4 10:32:06

IL-6/IL-6R信号通路与细胞因子风暴:病理机制与靶向干预

一、细胞因子风暴:免疫平衡失调的病理核心 细胞因子风暴是一种严重的全身性免疫失调综合征。其本质在于,当病原体感染等强烈刺激发生时,机体免疫系统被过度激活,导致促炎与抗炎反应之间的精细平衡被破坏。这种失调引发免疫细胞异…

作者头像 李华
网站建设 2026/3/4 2:31:30

告别“调参侠“!大模型六步理论框架,小白也能成为AI大神

大语言模型(Large Language Models, LLMs)的迅速崛起引发了人工智能领域的深远范式转移,并在工程层面取得了巨大成功,对现代社会产生着日益增长的影响。然而,当前领域仍存在一个关键悖论:尽管 LLMs 在经验上…

作者头像 李华
网站建设 2026/3/4 3:39:50

HBuilderX制作网页:零基础构建移动H5页面

从零开始用 HBuilderX 做一个移动网页:新手也能上手的实战指南 你有没有过这样的想法——想做个活动页面、做个产品介绍页,或者只是给自己的小项目搭个展示窗口?但一想到要学 HTML、CSS、JavaScript 就头大?别急,今天…

作者头像 李华