功能使用:

  • 标记用例,按正常、异常用例划分等级进行标记,或者按照模块进行划分。
  • 标记后,可以执行部分用例。

例如:

你有以下用例,文件目录结构如下:

testcase

----user

----management

----create

----testcase_create_001(正常场景)

----testcase_create_002(参数校验用例)

----testcase_create_003(逻辑校验用例)

----testcase_create_004(场景切换用例)

----testcase_create_005(等等)

----update

----testcase_update_001(正常场景)

----testcase_update_002(参数校验用例)

----testcase_update_003(逻辑校验用例)

----testcase_update_004(场景切换用例)

----testcase_update_005(等等)

----delete

----testcase_delete_001(正常场景)

----testcase_delete_002(参数校验用例)

----testcase_delete_003(逻辑校验用例)

----testcase_delete_004(场景切换用例)

----testcase_delete_005(等等)

----query

----testcase_query_001(正常场景)

----testcase_query_002(参数校验用例)

----testcase_query_003(逻辑校验用例)

----testcase_query_004(场景切换用例)

----testcase_query_005(等等)

----operator(等等)

现在我们要执行其中的一部分用例该怎么办呢?

例如有如下要求:1)只执行正常场景的用例,2)只执行异常场景的用例,3)只执行create模块的用例,4)执行所有user-management下所有用例

就可以使用pytest.mark给用例打标签,一个用例可以打多个标签

针对以上问题,我们可以这样解决:

1)将所有正常用例标记为@pytest.mark.level1

2)将所有异常用例,按照自我评定等级标记用例,分别将参数校验用例标记为@pytest.mark.level2,将逻辑校验用例标记为@pytest.mark.level3,以此类推;

3)将create模块的所有用例标注为@pytest.mark.user_management_create

4)将user-management下所有用例标注为@pytest.mark.user_management

此外,我们还要注册标签名称,才能使用。

官方提供的注册方式,直接在pytest.ini文件中声明即可:

pytest.ini固定格式如下所示:

[pytest]
markers =
    level1: mark a test as a level1.(后面是一段说明)
    level2: mark a test as a level2.
    level3: mark a test as a level3.
    user_management: mark feature.
    user_management_create: mark feature.

这样,在执行的时候,我们在执行时,通过pytest -m 标签名,来运行相关标签标记的内容。

例如:

执行user模块用例:pytest -m user_management

执行正常用例:pytest -m level1

pytest系列之-mark功能的使用的更多相关文章

  1. 【pytest系列】- mark标记功能详细介绍

    如果想从头学起pytest,可以去看看这个系列的文章! https://www.cnblogs.com/miki-peng/category/1960108.html mark标记 ​ 在实际工作中, ...

  2. pytest系列(二):筛选用例新姿势,mark 一下,你就知道。

    pytest系列(一)中给大家介绍了pytest的特性,以及它的编写用例的简单至极. 那么在实际工作当中呢,我们要写的自动化用例会比较多,不会都放在一个py文件里. 如下图所示,我们编写的用例存放在不 ...

  3. pytest之mark功能

    pytest系列(一)中给大家介绍了pytest的特性,以及它的编写用例的简单至极. 那么在实际工作当中呢,我们要写的自动化用例会比较多,不会都放在一个py文件里. 如下图所示,我们编写的用例存放在不 ...

  4. Pytest系列(一)初次了解

    在之前,我分享过unittest系列,后来有很多人问我,能不能出pytest的教程,正好最近在整理pytest相关的资料,那么,就趁着这个机会,去和大家分享一下pytest系列. pytest是一个非 ...

  5. Winform开发框架之客户关系管理系统(CRM)的开发总结系列1-界面功能展示

    一直以来,都希望整合一个以客户为中心的平台,有两个方面的考虑:一是实现客户数据.客户关系.客户管理等方面的整合,以便更好利用好客户的相关资源,发挥最大的营销效益:二是整合目前我的开发框架的所有模块和技 ...

  6. Pytest系列(9) - 参数化@pytest.mark.parametrize

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest允许在多个级别启 ...

  7. Pytest系列(8) - 使用自定义标记mark

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest 可以支持自定义 ...

  8. Pytest系列(八) - 自定义标记mark的使用

    一.前言: pytest 支持自定义标记,自定义标记方便用例模块划分,也可以理解方便管理,配合标记参数 -m使用 二.示例代码 # -*- coding: utf-8 -*- # @Time : 20 ...

  9. Pytest 系列(29)- 详解 allure.dynamic 动态生成功能

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 @allure.title  ...

  10. pytest - 打标记:mark功能

    对用例打标记,运行的时候,只运行打标记的用例.如冒烟测试 打标记步骤 1.先注册标记名 在配置文件:pytest.ini 注册标记名,注意必须是这个文件名 标签名加冒号后面可以写说明,必须是英文 2. ...

随机推荐

  1. el-tree选中子级时默认选中父级(角色授权)

    问题1:选中子级时默认选中父级 <el-tree :data="menuData" show-checkbox default-expand-all node-key=&qu ...

  2. 【笔记】go语言--函数式编程

    [笔记]go语言--函数式编程 简单来说,go语言的函数式编程体现的是一个闭包的情况 函数式编程 VS 函数指针 函数是一等公民:参数,变量,返回值都可以是函数 高阶函数 函数->闭包 &quo ...

  3. 力扣183(MySQL)-从不订购的客户(简单)

    题目: 某网站包含两个表,Customers 表和 Orders 表.编写一个 SQL 查询,找出所有从不订购任何东西的客户. Customers 表: Orders 表:  解题思路: 需要查询出没 ...

  4. Flink 实时计算在微博的应用

    简介: 微博通过将 Flink 实时流计算框架跟业务场景相结合,在平台化.服务化方面做了很大的工作,在开发效率.稳定性方面也做了很多优化.我们通过模块化设计和平台化开发,提高开发效率. 微博机器学习研 ...

  5. 修复 WPF 安装 WindowsAppSDK 库构建失败 NETSDK1082 和 NETSDK1112 找不到 win10-arm 失败

    通过在 WPF 项目上安装 WindowsAppSDK 库,可以让 WPF 使用上 Win10 及以上版本提供的 Windows Runtime 强大的 API 集和使用上更多的黑科技.本文记录在安装 ...

  6. Sentinel如何持久化数据到Nacos?

    默认情况下 Sentinel 只能接收到 Nacos 推送的消息,但不能将自己控制台修改的信息同步给 Nacos,如下图所示: 但是在生成环境下,我们为了更方便的操作,是需要将 Sentinel 控制 ...

  7. Spirng 当中 Bean的作用域

    Spirng 当中 Bean的作用域 @ 目录 Spirng 当中 Bean的作用域 每博一文案 1. Spring6 当中的 Bean的作用域 1.2 singleton 默认 1.3 protot ...

  8. Fast Möbius Transform 学习笔记 | FMT

    小 Tips:在计算机语言中 \(\cap\) = & / and, \(\cup\) = | / or First. 定义 定义长度为 \(2^n\) 的序列的 and 卷积 \(A = B ...

  9. Spring6 当中 获取 Bean 的四种方式

    1. Spring6 当中 获取 Bean 的四种方式 @ 目录 1. Spring6 当中 获取 Bean 的四种方式 每博一文案 1.1 第一种方式:通过构造方法获取 Bean 1.2 第二种方式 ...

  10. MindSpore反向传播配置关键字参数

    技术背景 在MindSpore深度学习框架中,我们可以向construct函数传输必备参数或者关键字参数,这跟普通的Python函数没有什么区别.但是对于MindSpore中的自定义反向传播bprop ...