30-pytest-重复执行用例-pytest-repeat

简介: 30-pytest-重复执行用例-pytest-repeat

前言

  • 本来学习下重复执行用例pytest-repeat插件的使用

安装插件

  • 用于重复执行单个用例,或多个测试用例,并指定重复次数
pip install pytest-repeat

–count

  • 指定重复次数

使用示例

# -*- coding: utf-8 -*-
# @Time    : 2022/3/23
# @Author  : 大海
import os
def test_1():
    a = 1 + 2
    assert a == 3
def test_2():
    a = 2 + 2
    assert a == 4
if __name__ == '__main__':
    # --count 2 重复运行两次
    os.system('pytest -s -v test_55.py --count 2')
  • test_1 运行两次后运行test_2 两次

–repeat-scope

  • 类似于pytest fixture的scope参数,–repeat-scope也可以设置参数: session , module,class或者function(默认值)
  • function(默认)范围针对每个用例重复执行,再执行下一个用例
  • class 以class为用例集合单位,重复执行class里面的用例,再执行下一个
  • module 以模块为单位,重复执行模块里面的用例,再执行下一个
  • session 重复整个测试会话,即所有收集的测试执行一次,然后所有这些测试再次执行等等

使用示例

# -*- coding: utf-8 -*-
# @Time    : 2022/3/23
# @Author  : 大海
import os
def test_1():
    a = 1 + 2
    assert a == 3
def test_2():
    a = 2 + 2
    assert a == 4
if __name__ == '__main__':
  # --repeat-scope=session  重复执行整个会话用例
    os.system('pytest -s -v test_55.py --count 2 --repeat-scope=session')

mark.repeat

  • @pytest.mark.repeat(count)装饰器 标记重复执行次数

使用示例

# -*- coding: utf-8 -*-
# @Time    : 2022/3/23
# @Author  : 大海
import os
import pytest
import time
def test_01():
    a = 1 + 2
    assert a == 3
@pytest.mark.repeat(2)
def test_02():
    a = 2 + 2
    assert a == 4
if __name__ == "__main__":
    os.system('pytest -s -v test_56.py')

重复测试直到失败

*-x 参数,复现偶现问题重复执行100次,直到失败

pytest  -s -v test_55.py --count 100 -x


相关文章
|
测试技术 Python
Pytest用例执行的先后顺序
Pytest用例执行的先后顺序
119 0
|
测试技术 Python
pytest--运行指定的测试和参数化
pytest--运行指定的测试和参数化
|
测试技术
15-pytest-自定义用例执行顺序
15-pytest-自定义用例执行顺序
|
测试技术
34-pytest-Hooks函数之获取用例执行结果
34-pytest-Hooks函数之获取用例执行结果
|
测试技术
16-pytest-skip跳过用例
16-pytest-skip跳过用例
|
测试技术 Python
02-pytest-用例运行规则
02-pytest-用例运行规则
|
测试技术
pytest 用例执行顺序
pytest 用例执行顺序
pytest 用例执行顺序
|
测试技术 Python
pytest学习和使用17-Pytest如何重复执行用例?(pytest-repeat)
pytest学习和使用17-Pytest如何重复执行用例?(pytest-repeat)
140 0
pytest学习和使用17-Pytest如何重复执行用例?(pytest-repeat)
|
测试技术 Python
pytest学习和使用10-Pytest中的测试用例如何跳过执行?
pytest学习和使用10-Pytest中的测试用例如何跳过执行?
96 0
pytest学习和使用10-Pytest中的测试用例如何跳过执行?