30-pytest-重复执行用例-pytest-repeat
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于30-pytest-重复执行用例-pytest-repeat的主要内容,如果未能解决你的问题,请参考以下文章
pytest-28-重复执行用例(pytest-repeat)
pytest文档28-重复执行用例(pytest-repeat)
pytest学习和使用17-Pytest如何重复执行用例?(pytest-repeat)