Pthon pytest框架标签定制化执行

简介

本文简单介绍了pytest框架下的mark的使用及方法案例。@pyest.mark.xxx
目的:实际工作中,我们写的自动化执行用例会比较多,多个py执行文件,多个class,很多方法,而我们只想运行当中部分的用例时怎么办?
1、打标位置:接口模块、类、方法及用例,运行用例时指定运行某个标签。
2、mark功能作用就是灵活的管理和运行指定测试用例
—————————————————————————————————————————

环境搭建

  • pycharm-》设置-》编辑器-》插件,搜索 ini 下载这款插件
    在这里插入图片描述

如果你的pycharm搜不到,请去官网下载:https://plugins.jetbrains.com/plugin/6981-ini/versions

  • 1、查看你pycharm版本号
    在这里插入图片描述
  • 2、搜索对应你pycharm的对应年代对应运行版本下载到本地
    在这里插入图片描述
  • 3、 手动导入安装你的ini插件
    在这里插入图片描述
  • 4、 安装完毕,在pycharm项目下新建一个文档pytest.ini
    在这里插入图片描述

使用方法

1、配置标签

自定义的标签会被pytest识别不了,出现警告.PytestUnknownMarkWarning: Unknown pytest.mark.xxxx

[pytest]
addopts=-vsq
testpaths=./test_case
markers =
    login: run the test_login test function for tasks project
    p0: test1
    p1: test2
    p2: test3

标记注册好后,可以通过pytest --markers来查看
在这里插入图片描述
配置项addopts:执行时可以省略一遍遍填写-v -s -q等参数,直接在mark配置好
在这里插入图片描述
.addopts=-vqs
-v:pytest -v 说明:可以输出用例更加详细的执行信息,比如用例所在的文件及用例名称等
-spytest -s 说明:输入我们用例中的调式信息,比如print的打印信息等
-mpytest -m ”标记“ 说明:执行特定的测试用例。修改下上面的用例代码
-qpytest -q 说明:简化控制台的输出,可以看出输出信息和上面的结果都不一样, 下图中有两个…点代替了pass结果
-kpytest -k “关键字” 说明:执行用例包含“关键字”的用例
–tb=style:屏蔽测试用例执行输出的回溯信息,可以简化用例失败时的输出信息。style可以是 on,line,short,具体区别请自行体验。如使用pytest --tb=no
配置项testpaths
testpaths指示pytest去哪里访问。testpaths是一系列相对于根目录的路径,用于限定测试用例的搜索范围。只有在pytest未指定文件目录参数或测试用例标识符时,该选项才有作用

2、使用@pytest.mark.xxx

在类或方法或用例前加上:

@pytest.mark.标签名

样式:

import pytest


def inc(x):
    return x + 1


@pytest.mark.p0
def test_request1():
    assert inc(2) == 4


@pytest.mark.p1
def test_request2():
    assert inc(1) == 2


@pytest.mark.p2
def test_input():
    a = 1
    b = a
    c = a + b
    assert inc(1) + c == 4


if __name__ == '__main__':
    pytest.main(['test_abc.py', '-m', 'p0 or p1'])

执行结果:
在这里插入图片描述

3、跳过执行

pytest.mark.skip(xxx),某些接口或者方法由于某些原因需要跳过时使用。

import pytest


def inc(x):
    return x + 1

@pytest.mark.p0				#打标P0
def test1():
    assert inc(2) + 2 == 4

@pytest.mark.skip(reason='本次不执行')	#打标跳过执行,并且写上原因
def test2():
    assert inc(2) + 2 == 4



if __name__ == '__main__':
    pytest.main(['test_abc.py', '-vs'])

执行结果:第二条跳过,并且表名理由。并且可以在报告中展示出来:
在这里插入图片描述
报告展示:
在这里插入图片描述

更多参数请查看:https://www.cnblogs.com/zouzou-busy/p/11323606.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 接口自动是指使用自动工具或脚本来测试接口的正确性、稳定性和可靠性。Python是一种功能强大且易学易用的编程语言,而pytest是一个Python的单元测试框架。 首先,使用Python可以方便地编写接口测试脚本。Python具有简洁的语法和丰富的第三方库,使得编写测试脚本变得更加简单高效。同时,Python支持各种数据处理和格式操作,可以方便地处理接口返回的数据并进行断言验证。 其次,pytestPython中常用的单元测试框架之一。它提供了许多方便的功能,例如自动发现和运行测试用例、测试报告的生成等。使用pytest可以更加方便地组织和管理接口测试用例,提高测试效率。 在接口自动中,我们可以使用pytest来编写测试用例,并使用pytest提供的assert断言来验证接口返回的结果是否符合预期。通过使用pytest的fixture功能,我们可以方便地管理测试环境的搭建和清理,例如在每个测试用例执行前后进行一些准备和清理操作。 另外,pytest还提供了插件机制,可以方便地扩展它的功能,例如生成测试报告、并行执行测试用例等。这些插件可以根据自己的需求进行选择和配置,以满足不同的接口自动测试需求。 总之,接口自动是现代软件开发中不可或缺的一环。Pythonpytest的组合可以提供强大而高效的接口自动测试能力,帮助我们更好地保证接口的质量和稳定性。 ### 回答2: 接口自动测试是指通过编程语言对接口进行自动测试,以验证接口的功能和性能是否符合预期。Python是一种高级编程语言,具有简洁的语法和强大的库支持,因此它常被用于接口自动测试。其中,PytestPython中一种功能强大且易于使用的测试框架,可以用于编写高效且可维护的接口自动测试代码。 使用PythonPytest进行接口自动测试可以带来以下优势: 1. 强大的协作能力:Pytest支持多线程和分布式测试,可以在多台机器上同时执行测试,提高执行效率和覆盖范围。 2. 简单易用的语法:Pytest提供了简洁的语法,使得编写和运行测试用例变得非常容易。通过使用Pytest的fixture机制,可以方便地准备测试数据和环境。 3. 丰富的插件支持Pytest提供了大量的插件,可以对测试进行扩展和定制。例如,可以使用pytest-html插件生成漂亮的测试报告,使用pytest-xdist插件实现分布式测试等。 4. 大型项目支持Pytest适用于各种规模的项目,无论是小型还是大型项目,都可以使用Pytest进行接口自动测试。 总结来说,通过使用PythonPytest进行接口自动测试,可以提高测试效率和测试覆盖率,同时还提供了丰富的扩展和定制能力,使得测试代码编写更加简单和可维护。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值