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在linux中输出带颜色的文字的方法
Jun 19 Python
Python遍历文件夹和读写文件的实现方法
May 10 Python
Python使用 Beanstalkd 做异步任务处理的方法
Apr 24 Python
如何利用Python模拟GitHub登录详解
Jul 15 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 Python
Python实现自动打开电脑应用的示例代码
Apr 17 Python
Python日志:自定义输出字段 json格式输出方式
Apr 27 Python
在python中实现导入一个需要传参的模块
May 12 Python
教你利用Selenium+python自动化来解决pip使用异常
May 20 Python
pandas时间序列之pd.to_datetime()的实现
Jun 16 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
PHP分页效率终结版(推荐)
2013/07/01 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
2016/01/12 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
js实现微博发布小功能
2017/01/12 Javascript
几行js代码实现自适应
2017/02/24 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
Python读写unicode文件的方法
2015/07/10 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
Python requests模块实例用法
2019/02/11 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
html5写一个BUI折叠菜单插件的实现方法
2019/09/11 HTML / CSS
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
销售员求职个人的自我评价
2014/02/19 职场文书
美术教学感言
2014/02/22 职场文书
房屋出租协议书范本(标准版)
2014/09/24 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
聘任合同书
2015/09/21 职场文书
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python