遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

pytest简易教程(28):pytest常用插件 - 重复测试(pytest-repeat)

 

pytest简易教程汇总,详见https://www.cnblogs.com/uncleyong/p/17982846

使用场景

某功能不稳定,重复执行多次,以便复现问题。

 

插件安装

安装:pip install pytest-repeat

 

使用方式一:命令行参数

参数:

  • --count:重复运行次数,必填
  • --repeat-scope:默认function,还可以是class、module、session,表示重复运行的维度,比如session,表示所有用例执行完一次,然后再执行第二次;选填

命令:

  pytest --count=count --repeat-scope=function

  或者:pytest --count count --repeat-scope function

 

参数也可以放配置文件中:

1
2
[pytest]
addopts = -vs --count 3 --repeat-scope function

 

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : 韧
# @wx :ren168632201
# @Blog :https://www.cnblogs.com/uncleyong/
 
 
# def test_d():
#     print("---test_d")
#
# def test_c():
#     print("---test_c")
 
def test_b():
    print("---test_b")
 
def test_a():
    print("---test_a")

  

--repeat-scope=function

运行结果:

结果:和上面一样,说明默认是function

 

--repeat-scope=module

运行结果:

 

--repeat-scope=class

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : 韧
# @wx :ren168632201
# @Blog :https://www.cnblogs.com/uncleyong/
 
 
# def test_d():
#     print("---test_d")
#
# def test_c():
#     print("---test_c")
 
class Test1:
    def test_b(self):
        print("---test_b")
    def test_d(self):
        print("---test_d")
class Test2:
    def test_a(self):
        print("---test_a")
    def test_c(self):
        print("---test_c")

 

运行结果: 

 

--repeat-scope=session

运行结果:

 

 

使用方式二:修饰器

@pytest.mark.repeat(count)

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : 韧
# @wx :ren168632201
# @Blog :https://www.cnblogs.com/uncleyong/
 
import pytest
 
@pytest.mark.repeat(3)
def test_a():
    print("---test_a")
def test_b():
    print("---test_b")

  

运行结果:

 

posted @   全栈测试笔记  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2022-02-23 答疑记录:jmeter从返回的html中提取指定内容
浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示