项目自动化常用pytest工具
1、repeat 重复请求
在cmd面板内进行安装
pip install pytest-repeat # 记得关闭本地代理
# 装饰器用法 @pytest.mark.repeat(5)
# 命令行用法 --count(5) 在后面添加
# 注意点 : 针对幂等场景测试可以使用该插件
import pytest
@pytest.mark.repeat(5)
def test_01():
print(f"第1次执行用例")
if __name__ == '__main__':
pytest.main(["-sv",__file__])
2、pytest-ordering 排序插件
在cmd面板内进行安装
pip install pytest-ordering # 记得关闭本地代理
# 装饰器写法 @pytest.mark.run(order=2)
import pytest
@pytest.mark.run(order=2)
def test_01():
print(f"第1个用例")
@pytest.mark.run(order=1)
def test_02():
print(f"第2个用例")
if __name__ == '__main__':
pytest.main(["-sv",__file__])
3、pytest-flaky 失败重跑插件
在cmd面板内进行安装
pip install pytest-rerunfailures # 记得关闭本地代理
# 1、命令行参数
# --reruns=RERUNS #失败后重跑多少次,直到成功就停止
# --reruns-delay=RERUNS_DELAY # 重跑间隔,单位是s
# 2、装饰器 @pytest.mark.flaky(reruns=5,reruns_delay=2)
import pytest
import random
# 两个参数
## 1、reruns 重跑多少次
## 2、reruns_delay 每次重跑间隔时间
@pytest.mark.flaky(reruns=5,reruns_delay=2)
def test_01():
t1 = random.randint(1,3)
assert t1 == 2 # 当等于2时,不在重跑。否则会一直重跑
print("执行成功,不在重跑") # 断言成功后才会执行
if __name__ == '__main__':
pytest.main(["-sv",__file__])
4、pytest-dependency 依赖插件
在cmd面板内进行安装
pip install pytest-dependency # 记得关闭本地代理
# 在工作中经常遇到场景依赖上一个场景的返回值的情况,在自动化测试用例执行过程中,如果上一个被依赖场景执行失败是无需执行后续依赖场景的。
# 例如淘宝的下订单需要依赖登录返回的token,如果登陆失败无需执行订单场景。直接跳过
## 有三个参数,第一个参数是被依赖用例定义名称。第二个参数是依赖用例传入被依赖的名称,第三个参数是如果垮模板传输需要放大作用域。否则会执行无效
# 第一个模块
import pytest
@pytest.mark.dependency(name="loginsuccsee")
def test_01():
a = 2
assert a == 1
# 第二个模块
import pytest
@pytest.mark.dependency(depends=["loginsuccsee"],scope='session')
def test_02():
print("test_01执行成功才会执行")
if __name__ == '__main__':
pytest.main(["-sv"])