Pytest mark使用实例及原理解析


Posted in Python onFebruary 22, 2020

这篇文章主要介绍了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"])

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

Python 相关文章推荐
python Django批量导入数据
Mar 25 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 Python
解决python大批量读写.doc文件的问题
May 08 Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 Python
详解python读取image
Apr 03 Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 Python
python基础 range的用法解析
Aug 23 Python
PyTorch学习:动态图和静态图的例子
Jan 06 Python
将keras的h5模型转换为tensorflow的pb模型操作
May 25 Python
Python数据可视化常用4大绘图库原理详解
Oct 23 Python
python中的yield from语法快速学习
Nov 06 Python
只需要这一行代码就能让python计算速度提高十倍
May 24 Python
python如何通过闭包实现计算器的功能
Feb 22 #Python
postman和python mock测试过程图解
Feb 22 #Python
Python实现链表反转的方法分析【迭代法与递归法】
Feb 22 #Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 #Python
python实现从尾到头打印单链表操作示例
Feb 22 #Python
python实现滑雪游戏
Feb 22 #Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 #Python
You might like
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
php str_pad 函数使用详解
2009/01/13 PHP
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
php 什么是PEAR?
2009/03/19 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
2017/06/13 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
python两个list[]相加的实现方法
2020/09/23 Python
医学专业应届生的自我评价
2014/02/28 职场文书
读书演讲主持词
2014/03/18 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
黑白记忆观后感
2015/06/18 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers