pytest常用命令行参数解析

简介:pytest作为一个成熟的测试框架,它提供了许多命令行参数来控制测试的运行方式,以配合适用于不同的测试场景。例如 -x 可以用于希望出现错误就停止,以便定位和分析问题。--reruns=num适用于希望进行失败重跑等个性化测试策略。

常用命令行参数,案例解析:


"-s": 输出调试信息,包括 print 打印的信息。这通常在调试时使用,因为它会显示测试用例中的所有 print 输出。


"-v": 显示更详细的信息,包括测试用例的名称、执行状态(通过、失败、错误、跳过等)、执行时间以及任何与测试用例相关的输出或日志信息。


"-n=num": 启用多线程或分布式运行测试用例。这需要安装 pytest-xdist 插件模块。它允许你指定并行运行的测试用例数量。


"-k=value": 只执行用例的 nodeid 包含指定值的用例。这可以用于根据表达式匹配并运行特定的测试用例。


"-m"=标签名: 执行被 @pytest.mark.标签名 标记的用例。这允许你根据定义的标签来过滤和运行测试用例。


"-x": 一旦有任何一个用例执行失败,就停止当前线程的测试执行。


"--maxfail=num": 与 -x 功能相似,但允许指定失败用例的最大数量后停止执行。


"--reruns=num": 失败用例重跑指定次数。这需要安装 pytest-rerunfailures 插件模块。

程序主入口代码:

 

import os

import pytest


if __name__ == "__main__":

"""

"-s": 输出调试信息,包括 print 打印的信息。这通常在调试时使用,因为它会显示测试用例中的所有 print 输出。

"-v": 显示更详细的信息.

"-n=num": 启用多线程或分布式运行测试用例。这需要安装 pytest-xdist 插件模块。允许并行运行的测试用例数量。

"-k=value": 只执行用例的 nodeid 包含指定值的用例。这可以用于根据表达式匹配并运行特定的测试用例。

"-m"=标签名: 执行被 @pytest.mark.标签名 标记的用例。这允许你根据定义的标签来过滤和运行测试用例。

"-x": 一旦有任何一个用例执行失败,就停止当前线程的测试执行。

"--maxfail=num": 与 -x 功能相似,但允许指定失败用例的最大数量后停止执行。

"--reruns=num": 失败用例重跑指定次数。这需要安装 pytest-rerunfailures 插件模块。

"""

pytest.main(["-s", "./tests/test_demo.py", "--alluredir", "./report"])


# 步骤2:将生成的测试报告json数据,打包生成allure-HTML报告格式

os.system("allure serve report")

测试用例:


import pytest

import random



class TestDemo(object):


@pytest.mark.repeat(10)

def test_01(self):

res = random.randint(0, 10)

pytest.assume(res > 2)


@pytest.mark.repeat(10)

def test_02(self):

res = random.randint(0, 10)

pytest.assume(res > 1)

-x: 一旦有任何一个用例执行失败,就停止当前线程的测试执行。

pytest.main(["-s", "-x", "./tests/test_demo.py", "--alluredir", "./report"])

--maxfail=num: 与 -x 功能相似,但允许指定失败用例的最大数量后停止执行。
pytest.main(["-s", "--maxfail=3", "./tests/test_demo.py", "--alluredir", "./report"])

"--reruns=num": 失败用例重跑指定次数。

pytest.main(["-s", "--reruns=3", "./tests/test_demo.py", "--alluredir", "./report"])

"-n=num": 启用多线程或分布式运行测试用例。这需要安装 pytest-xdist 插件模块。允许并行运行的测试用例数量,当设置为auto时,设置为CPU核心数,效率最高。

pytest.main(["-s", "-n=auto", "./tests/test_demo.py", "--alluredir", "./report"])

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值