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

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

1、对测试用例使用

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

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

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

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

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

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

2、对测试类使用。

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

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

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

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

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

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

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

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

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

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

最终识别包含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基础用法05:-m,-k,-q,-s,-v运行参数详解及ini配置指定运行参数_第8张图片

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

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

结果如下:

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

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

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

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

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

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

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

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

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

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

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

你可能感兴趣的:(Pytest框架,pytest)