一、前言:

pytest 支持自定义标记,自定义标记方便用例模块划分,也可以理解方便管理,配合标记参数 -m使用

二、示例代码

  1. # -*- coding: utf-8 -*-
  2. # @Time : 2020/11/15 9:51
  3. # @Author : longrong.lang
  4. # @FileName: test_mark.py
  5. # @Software: PyCharm
  6. # @Cnblogs :https://www.cnblogs.com/longronglang
  7. import pytest
  8. @pytest.mark.mylogin
  9. def test_login():
  10. print('登录成功!')
  11. @pytest.mark.query
  12. def test_query():
  13. print('检索商品成功!')
  14. @pytest.mark.addcart
  15. def test_addcart():
  16. print('加入购物车')
  17. if __name__ == '__main__':
  18. # pytest -s -m query test_mark.py
  19. pytest.main(['-s', '-m query', 'test_mark.py'])

三、命令行执行

  1. pytest -s -m query test_mark.py

可能看到这的同学会问了,为什么不用main方法执行,我代码里虽然写了,但是main执行就变成了了全部执行,这点我也很迷糊,为什么不行呢。有解决的同学,请在文末留言,我也学习下。

运行结果如下:

四、解决运行的warnings提示

创建一个pytest.ini文件,文件需要和运行的测试用例同一个目录,或在根目录下作用于全局。

加上自定义mark,内容如下:

  1. [pytest]
  2. markers =
  3. mylogin: this is mylogin page
  4. query: this is query page
  5. addcart: this is addcart page

五、如果不想标记query的用例

执行命令如下:

  1. pytest -s -m "not query" test_mark.py

运行结果如下:

六、执行多个自定义标记的用例

执行命令如下:

  1. pytest -s -m "query or mylogin" test_mark.py

运行结果如下:



系列参考文章:

https://www.cnblogs.com/poloyy/category/1690628.html

Pytest系列(八) - 自定义标记mark的使用的更多相关文章

  1. pytest 14 使用自定义标记mark

    标记失败用到的情况是,本身就知道这是失败的例子,所以,不用让他运行,直接跳过.或者是依赖于某个方法,某个方式失败的话,用例直接标记成失败. 标记失败有两种方法,一种是方法内部,一种是方法外部.内部用p ...

  2. pytest 13 使用自定义标记mark

    前言: pytest可以规定那些要跑,那些不跑,跑特定的哪些?比如以下的这个例子: #!/usr/bin/env/python # -*-coding:utf-8-*- import pytest @ ...

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

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

  4. pytest九:使用自定义标记 mark

    pytest 可以支持自定义标记,自定义标记可以把一个 web 项目划分多个模块,然后指定模块名称执行.app 自动化的时候,如果想android 和 ios 公用一套代码时,也可以使用标记功能,标明 ...

  5. pytest文档15-使用自定义标记mark

    前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时, 也可以使用标记功能,标明哪些是 ...

  6. pytest_使用自定义标记mark

    前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是i ...

  7. 自定义标记mark

    前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是i ...

  8. Pytest使用自定义标记mark只执行部分用例

    • 场景:只执行符合要求的某一部分用例 可以把一个web项目划分多个模块,然后指定模块名称执行. App自动化时,如果想Android和IOS公用一套代码时,也可以使用标记功能,标明哪些是IOS 的用 ...

  9. Pytest系列(23)- allure打标记,@allure.feature()、@allure.story()、@allure.severity()的详细使用

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 前面几篇文章主要介绍了all ...

随机推荐

  1. 多测师讲解自动化测试 _RF数据库操作(上)_高级讲师肖sir

    一.安装库 1.查看数据库是否按安装 1.1 DatabaseLibrary pip3 install mysqlclient-2.0.1-cp37-cp37m-win_amd64.whl dos  ...

  2. k8s集群添加新得node节点

    服务端操作: 方法一: 获取master的join token kubeadm token create --print-join-command 重新加入节点 kubeadm join 192.16 ...

  3. JVM系列【6】GC与调优2.md

    JVM系列笔记目录 虚拟机的基础概念 class文件结构 class文件加载过程 jvm内存模型 JVM常用指令 GC与调优 了解HotSpot常用命令行参数 JVM的命令行参数参考: https:/ ...

  4. linux(centos8):firewalld使用ipset管理ip地址的集合

    一,firewalld中ipset的用途: 1,用途 ipset是ip地址的集合, firewalld使用ipset可以在一条规则中处理多个ip地址, 执行效果更高 ​对ip地址集合的管理也更方便 2 ...

  5. ImageMagick实现图片的旋转/翻转/裁剪(ImageMagick6.9.10)

    一,imagemagick的安装 请参见: https://www.cnblogs.com/architectforest/p/12807514.html 说明:刘宏缔的架构森林是一个专注架构的博客, ...

  6. qemu-kvm安装and配置桥接和SR-IOV

    kvm和docker的区别:kvm是全虚拟化,需要模拟各种硬件,docker是容器,共享宿主机的CPU,内存,swap等.本文安装的qemu-kvm属于kvm虚拟化,其中:kvm负责cpu虚拟化和内存 ...

  7. 使用pyenv实现python多版本共存

    背景 如果是Ubuntu等桌面系统,都已经更新到了Python较新的版本.但多数生产环境使用的还是红帽系统. CentOS7默认还是Python2.7,而开发环境如果是高版本Python就带来了问题. ...

  8. C++学习---栈的构建及操作

    一.顺序栈 #include <iostream> using namespace std; #define MAXSIZE 100 //栈的最大容量 typedef struct { i ...

  9. 性能测试之JVM的故障排查-死锁

    死锁原因 Java发生死锁的根本原因是:在申请锁时发生了交叉闭环申请.即线程在获得了锁A并且没有释放的情况下去申请锁B,这时,另一个线程已经获得了锁B,在释放锁B之前又要先获得锁A,因此闭环发生,陷入 ...

  10. nginx tp5配置

    location ~ [^/]\.php(/|$) { #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.soc ...