pytest基础用法05:-m,-k,-q,-s,-v运行参数详解及ini配置指定运行参数

一、pytest -m :执行特定的测试用例

1、对测试用例使用

1)配置文件中先注册好标签。注意:ini文件中不要有中文符号,逗号,冒号,引号等。

2)给测试用例打上标签,格式如下图所示

3)执行命令:pytest -m 标签名

2、对测试类使用。

实际中测试用例有很多,如果每个用例都打上标签,不利于后期去除或变更标签。故可以给一个测试用例类打上标签,类中包含相应的测试用例。

1)用例代码中定义测试类。并给其打上特定的标签名。

2)配置文件中定义该标签。

执行查看结果如下。与testcases下的test_two 文件两个用例的判断情况一致。

二、pytest -k  执行用例包含“关键字”的用例

代码中不需要做其他操作,关注自己想要的用例包含的关键字,并在终端执行中带入该关键字。语法如下图。

最终识别包含mobile的文件中的两个用例并执行。

三、pytest -q :简化控制台的输出。以下均以test_mobile为例查看执行结果。

test_mobile的代码为:

import requests


def test_mobile_get():
    print("测试手机号归属地get请求")
    r = requests.get('https://api.binstd.com/shouji/query', params={
        "shouji": "13456755448",
        "appkey": "f59e0831625536e7"
    })
    print(r.json())
    print(r.status_code)
    assert r.status_code == 200
    result = r.json()
    assert result['status'] == 0
    assert result['msg'] == 'ok'
    assert result['result']['shouji'] == '13456755448'
    assert result['result']['province'] == '浙江'
    assert result['result']['company'] == '中国移动'
    assert result['result']['cardtype'] is None
    assert result['result']['areacode'] == '0571'


def test_mobile_post():
    print("测试手机号归属地get请求")
    r = requests.post(url='https://api.binstd.com/shouji/query', params={
        "shouji": "13456755448",
        "appkey": "f59e0831625536e7"
    })
    print(r.json())
    print(r.status_code)
    assert r.status_code == 200
    result = r.json()
    assert result['status'] == 0
    assert result['msg'] == 'ok'
    assert result['result']['shouji'] == '13456755448'
    assert result['result']['province'] == '浙江'
    assert result['result']['company'] == '中国移动'
    assert result['result']['cardtype'] is None
    assert result['result']['areacode'] == '0571'

结果只显示有几条用例通过或不通过。

四、pytest -v :可以输出用例更加详细的执行信息

结果如下:

输出运行环境,配置文件、组件等。

五、pytest -v:输出我们用例中的调式信息

它能把程序中print的信息打印出来,其他与-q 的执行结果相差不大

六、ini文件配置指定的运行参数

打开ini文件,定义指定运行参数,代码如下,-q既表示极简方式的输出方式。

终端执行时,便只需输入 pytest 目录/文件名,自动执行配置文件中定义的运行方式。

同理,设置成addops :-v或-s即可按照相应方式输出结果。

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
pytest-testreport是一个pytest插件,用于生成测试报告。在使用pytest-testreport时,可以通过pytest.ini文件对其进行配置,下面是pytest-testreport一些常用的配置项及其说明: ``` [pytest] addopts = --html=report.html --self-contained-html ``` - `addopts`: 添加命令行选项,这里的选项将会在pytest命令自动添加。这里的`--html=report.html`表示将测试报告输出到report.html文件,`--self-contained-html`表示将报告的资源文件(如样式表和图片)嵌入到HTML文件,方便分享和传播。 ``` [pytest] junit_family=xunit2 ``` - `junit_family`: 指定JUnit XML报告格式,可选值有`xunit1`和`xunit2`。`xunit2`是较新的格式,可以支持更多的测试结果类型,建议使用。 ``` [pytest] markers = smoke: Run the smoke tests regression: Run the regression tests ``` - `markers`: 标记用于标识测试用例的类型,可在命令行使用-m选项来指定运行的测试用例类型。例如,`pytest -m "smoke"`将只运行标记为smoke的测试用例。在这里,我们定义了两个标记:`smoke`和`regression`,分别用于标识烟雾测试和回归测试。 ``` [pytest] testpaths = tests ``` - `testpaths`: 指定测试用例所在的目录。在这里,我们将测试用例放在`tests`目录。 ``` [pytest] filterwarnings = ignore:.*U.*mode is deprecated:DeprecationWarning ``` - `filterwarnings`: 过滤警告信息,这里的设置表示忽略所有包含`U`的警告信息并将`DeprecationWarning`作为警告类型。这样可以减少不必要的警告信息对测试报告的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值