Pytest自动化测试框架:mark用法---测试用例分组执行

pytest中的mark:

  mark主要用于在测试用例/测试类中给用例打标记(只能使用已注册的标记名),实现测试分组功能,并能和其它插件配合设置测试方法执行顺序等。

如下图,现在需要只执行红色部分的测试方法,其它方法不执行:

设置步骤如下:

1、注册标签名,通过pytest.ini配置文件注册;
2、在测试用例的前面加上:@pytest.mark.已注册标签名
3、运行时,根据用例标签过滤(-m标签名)


通过mark分组执行的用例:

1、在项目下新建一个pytest.ini的配置文件;如下图:

 2、在用例里面添加@pytest.mark.标签名;如下代码:

代码示例:

test_demo_mark_01.py文件

import pytestclass TestDemo01:def test_case_01(self):print('exec TestDemo01 test_case_01',end=' ')assert True@pytest.mark.system_testdef test_case_02(self):print('exec TestDemo01 test_case_02',end=' ')assert True

test_demo_mark_02.py文件

import pytestclass TestDemo02:@pytest.mark.login_module@pytest.mark.system_testdef test_case_01(self):print('exec TestDemo02 test_case_01',end=' ')assert Truedef test_case_02(self):print('exec TestDemo02 test_case_02',end=' ')assert True

test_demo_mark_03.py文件

import pytestclass TestDemo03:@pytest.mark.smoke_test@pytest.mark.login_moduledef test_case_01(self):print('exec TestDemo03 test_case_01',end=' ')assert Truedef test_case_02(self):print('exec TestDemo03 test_case_02',end=' ')assert True

3、在run_case.py文件中执行pytest.main(['-s','-v','-m 标签名')

代码示例:

import pytestpytest.main(['-s','-v','-m smoke_test'])                    # 只执行smoke_test分组下的用例
# pytest.main(['-s','-v','-m system_test or login_module'])   # 两个标签的用例都执行
# pytest.main(['-s','-v','-m system_test and login_module'])  # 包含两个标签的用例才执行
# pytest.main(['-s','-v','-m not login_module'])                # 除了该标签之外,其他用例都执行

执行效果:

这可能是B站最详细的pytest自动化测试框架教程,整整100小时,全程实战!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/194941.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytest测试框架介绍(1)

又来每天进步一点点啦~~~ 一、Pytest介绍: pytest 是一个非常成熟的全功能的Python测试框架; pytest 简单、灵活、易上手; 支持参数化 能够支持简单的单元测试和复杂的功能测试,可以做接口自动化测试(pytestrequests&…

谈谈一个IT杂家的职业生涯规划,你的护城河被AI 攻破了么?

文章大纲 未来AI领域的专家是深度学习老中医数据为什么不断的在变化?炼金术(Alchemy)AI“老中医”的经验难以复制 AIGC 还未能克服的难点:忽然的惊喜与价值观对齐失控既是智能获得突破的重要原因,又是智能突破所不可避免的伴生结果大模型在泛…

Google Earth Engine(GEE)操作

地理信息网站 Eatrth Explorer操作界面 在研究中,我们常需要遥感数据。在下面的网站中,可以得到遥感数据。 EarthExplorer (usgs.gov)https://earthexplorer.usgs.gov/登陆网站: 通常,在Additional Criteria中,可以…

SpringBoot——入门及原理

SpringBoot用来简化Spring应用开发,约定大于配置,去繁从简,是由Pivotal团队提供的全新框架。其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置(有特殊需求可以添加自己的配置覆盖默认配…

用户增长模型:3A3R策略模型

一、概述 A - A - A - R - R - R 增长模型,即3A3R策略模型,由海盗模型演变而来,是目前使用最多、适用范围最广的增长策略模型。原始的海盗模型由 Acquisition (获客)、 Activation (活跃)、 Re…

接口自动化测试很难吗?来看看这份超详细的教程!

接口自动化测试框架目的 测试工程师应用自动化测试框架的目的: 增强测试脚本的可维护性、易用性(降低公司自动化培训成本,让公司的测试工程师都可以开展自动化测试)。 以下框架以微信公众平台开放文档实战 地址:https://developers.weixin.qq.com/doc…

【数据结构】前言

数据结构是在计算机中维护数据的方式。 数据结构是OI重要的一部分。 同的数据结构各有优劣,能够处理的问题各不相同,而根据具体问题选取合适的数据结构,可以大大提升程序的效率。 所以,学习各种各样的数据结构是很有必要的。 数据…

本地Git项目同时推送至GitHub和Gitee

分别在gitee和github新建一个仓库 github: gitee: 添加远程仓库 git remote add origin1 [你的GitHub仓库URL] git remote add origin2 [你的Gitee仓库URL] 在本地中初始化创建一个git本地分支 git init 进入.git目录下修改config文件 [remote "origin"] url g…

网络层——IP协议

文章目录 一.IP协议二.基本概念三.IP协议格式四.分片与组装五.网段划分六.特殊的IP地址七.IP地址的数量限制八.私网IP地址和公网IP地址九.路由十.路由表生成算法 一.IP协议 IP协议全称为“网际互连协议(Internet Protocol)”,IP协议是TCP/IP…

Java,集合框架,关于Map接口与Collections工具类

目录 Map接口 Map及其实现类的对比: HashMap中元素的特点: 相关方法: 添加、修改操作: 删除操作: 元素查询的操作: 元视图操作的方法: TreeMap的使用: Properties类: Collections工具…

MySQL面试题

文章目录 MySQL面试题有如下一张表,按结果要求的格式写出SQL语句有一张表student,包括字段id和name,请写一条sql语句,将表中name字段中重复的记录删除,只保留重复数据中的id最大的那一条数据。SQL数据库表名为guest,请…

常用组合逻辑verilog实现之8-3优先编码器

文章目录 一、问题描述二、verilog源码三、综合及仿真结果一、问题描述 本例中将实现一个8-3优先编码器。优先编码器允许多个输入信号同时有效,输出针对优先级别高的信号进行编码。 8-3优先编码器有对应的芯片实现比如TI公司的CD4532,可以从下面链接下载其手册。 CD4532数…