Pytest mark使用实例及原理解析

 更新时间:2020年02月22日 14:40:42   作者:奔奔-武  
这篇文章主要介绍了Pytest mark使用实例及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了Pytest mark使用实例及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

使用方法:

1、注册标签名

2、在测试用例/测试类前面加上:@pytest.mark.标签名

打标记范围:测试用例、测试类、模块文件

注册方式:

1、单个标签:

在conftest.py添加如下代码:

def pytest_configure(config):
  # demo是标签名
  config.addinivalue_line("markers", "demo:示例运行") 

2、多个标签:

在conftest.py添加如下代码:

def pytest_configure(config):
  marker_list = ["testdemo", "demo", "smoke"] # 标签名集合
  for markers in marker_list:
    config.addinivalue_line("markers", markers)

3、添加pytest.ini 配置文件(在你项目的任意一个文件下,新建一个file,文件命名为pytest.ini)

[pytest]
markers=
  smoke:this is a smoke tag
  demo:demo
  testdemo:testdemo

使用方法:

import pytest


@pytest.mark.testdemo
def test_demo01():
  print("函数级别的test_demo01")


@pytest.mark.smoke
def test_demo02():
  print("函数级别的test_demo02")


@pytest.mark.demo
class TestDemo:
  def test_demo01(self):
    print("test_demo01")

  def test_demo02(self):
    print("test_demo02")

运行方式:

1、命令行模式

通过标记表达式执行
pytest -m demo
这条命令会执行被装饰器@pytest.mark.demo装饰的所有测试用例

生成html报告:
pytest -m demo --html=Report/report.html

生成xml报告:
pytest -m demo --junitxml=Report/report.xml

运行指定模块:
pytest -m demo --html=Report/report.html TestCases/test_pytest.py

运行指定测试目录
pytest -m demo --html=Report/report.html TestCases/

通过节点id来运行:
pytest TestCases/test_pytest.py::TestDemo::test_demo01

通过关键字表达式过滤执行
pytest -k "MyClass and not method"
这条命令会匹配文件名、类名、方法名匹配表达式的用例

获取用例执行性能数据
获取最慢的10个用例的执行耗时
pytest --durations=10

2、新建run.py文件运行,代码如下:

pytest.main(["-m","demo","--html=Report/report.html"])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Django如何开发简单的查询接口详解

    Django如何开发简单的查询接口详解

    这篇文章主要给大家介绍了使用Django如何开发简单的查询接口的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Python实现网络端口转发和重定向的方法

    Python实现网络端口转发和重定向的方法

    这篇文章主要介绍了Python实现网络端口转发和重定向的方法,结合实例形式分析了Python基于threading和socket模块实现端口转发与重定向的具体操作技巧,需要的朋友可以参考下
    2016-09-09
  • python实现俄罗斯方块

    python实现俄罗斯方块

    这篇文章主要为大家详细介绍了python实现俄罗斯方块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Python for循环搭配else常见问题解决

    Python for循环搭配else常见问题解决

    这篇文章主要介绍了Python for循环搭配else常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • selenium 安装与chromedriver安装的方法步骤

    selenium 安装与chromedriver安装的方法步骤

    这篇文章主要介绍了selenium 安装与chromedriver安装的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • 在Windows系统上搭建Nginx+Python+MySQL环境的教程

    在Windows系统上搭建Nginx+Python+MySQL环境的教程

    这篇文章主要介绍了在Windows系统上搭建Nginx+Python+MySQL环境的教程,文中使用flup中间件及FastCGI方式连接,需要的朋友可以参考下
    2015-12-12
  • python 自动去除空行的实例

    python 自动去除空行的实例

    今天小编就为大家分享一篇python 自动去除空行的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python中如何将Tqdm与Asyncio结合使用呢

    Python中如何将Tqdm与Asyncio结合使用呢

    这篇文章主要和大家详细介绍了在Python中如何将Tqdm与Asyncio结合使用呢,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-05-05
  • 详细解读Python中的json操作

    详细解读Python中的json操作

    json操作是最为基本的、最为常用的,Python自带的json模块就可以满足大部分应用场景,而且使用起来极为简单,下面这篇文章主要给大家介绍了关于Python中json操作的相关资料,需要的朋友可以参考下
    2022-05-05
  • Python使用虚拟环境(安装下载更新卸载)命令

    Python使用虚拟环境(安装下载更新卸载)命令

    这篇文章主要为大家介绍了Python使用虚拟环境(安装下载更新卸载)命令,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论