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


    pytest系列(一)中给大家介绍了pytest的特性,以及它的编写用例的简单至极。

    那么在实际工作当中呢,我们要写的自动化用例会比较多,不会都放在一个py文件里。

    如下图所示,我们编写的用例存放在不同的py文件当中。

     

    当我们想只运行诸多py文当中的部分用例,怎么办呢?

    比如自动化工作当中,选择test_a,test_33,test_000这3个用例来运行的话,如何过滤呢?

     

     

    pytest.mark一下

    在pytest当中,先给用例打标记,在运行时,通过标记名来过滤测试用例。

     

    步骤1:给用例打标签

    给用例打标记分为2个步骤:

     

    1)注册标签名

    官方提供的注册方式有2种,这里只提供一种最简单直接的方式:

    通过pytest.ini配置文件注册。在pytest.ini文件当中:

    [pytest] # 固定的section名

    markers= # 固定的option名称

      标签名1: 标签名的说明内容。

      标签名2

      标签名N

    示例如下:

     

    2)在测试用例/测试类中给用例打标记(只能使用已注册的标记名)

    在 测试用例的前面加上:@pytest.mark.已注册标签名

    如下图,对3个测试文件当中的,要筛选出来的用例,都打了me标签 。

     

     

    步骤2:运行时,根据用例标签过滤(-m 标签名)

    pytest提供了命令行参数来配置运行时的条件。

    在命令行当中,输入pytest --help来查看所有可用的参数。

     

    也可以调用pytest.main()函数,将运行时的参数以列表传进去,同样也可以达到命令行运行的效果。

    根据标签名过滤用例的参数为:-m 标签名

     

    运行此文件的结果:

  • 相关阅读:
    JavaScript 简单说明(一)
    把mysql5.7源码包生成rpm包
    CentOS下pythonsqlite3安装
    No module named 'MySQLdb' python3.6 + django 1.10 + mysql 无法连接
    python3不再支持mysqldb 请用pymysql和mysql.connector
    元素的自定义特性
    获取元素的页面位置,兼容各浏览器
    通过正则格式化url查询字符串
    borderimage属性在chrome中的不同效果
    获取页面元素的滚动位置,兼容各浏览器
  • 原文地址:https://www.cnblogs.com/Simple-Small/p/11077123.html
Copyright © 2020-2023  润新知