遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】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

 

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

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

 

示例:

#!/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

#!/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)

#!/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 @ 2024-02-23 22:29  全栈测试笔记  阅读(89)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end