1. 前言

  • pytest 可以支持自定义标记,自定义标记可以把一个 web 项目划分多个模块,然后指定模块名称执行
  • 譬如我可以标明哪些用例是 window下执行的,哪些用例是mac 下执行的,在运行代码时候指定 mark 即可

2. 上代码

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. __title__ =
  5. __Time__ = 2020/4/9 19:32
  6. __Author__ = 小菠萝测试笔记
  7. __Blog__ = https://www.cnblogs.com/poloyy/
  8. """
  9. import pytest
  10. @pytest.mark.weibo
  11. def test_weibo():
  12. print("测试微博")
  13. @pytest.mark.toutiao
  14. def test_toutiao():
  15. print("测试头条")
  16. @pytest.mark.toutiao
  17. def test_toutiao1():
  18. print("再次测试头条")
  19. @pytest.mark.xinlang
  20. class TestClass:
  21. def test_method(self):
  22. print("测试新浪")
  23. def testnoMark():
  24. print("没有标记测试")

2.1 cmd敲运行命令

  1. pytest -s -m weibo 08_mark.py

2.2 执行结果

image.png

2.3 如何避免warnings

  • 创建一个 pytest.ini 文件(后续详解)
  • 加上自定义 mark,如下图
  • 注意:pytest.ini 需要和运行的测试用例同一个目录,或在根目录下作用于全局

image.png

2.4 如果不想标记 weibo 的用例

我们直接取反即可

  1. pytest -s -m "not weibo" 08_mark.py

image.png

2.5 如果想执行多个自定义标记的用例

  1. pytest -s -m "toutiao or weibo" 08_mark.py

image.png