使用pytest中方法控制执行步骤(test_begin.py、test_end.py,@pytest.mark.run(order=1))

测试脚本的编写如查询客户等页面都需要依赖于登录,这样的话类似需要依赖登录操作都需要在这个测试脚本中重复编写登录用例,为了避免重复写代码我们可以用pytest中的方法控制测试执行步骤

第三方工具的修改

1、增加退出驱动driver的标记以及修改这个标记的方法

python 复制代码
class UtilsDriver:
    _driver = None
  	#	修改的代码,增加一个退出driver的标记以及修改driver属性的方法
    __quit_driver = True  # 后台系统退出驱动的标识
    # 定义修改私有属性的方法
    @classmethod
    def set_quit_driver(cls, mark):
        cls.__quit_driver = mark

脚本修改

  1. 增加test_begin.py文件:第一个执行用例,设置driver为True
  2. 通过order值大小,最小的先执行,最大的后执行
python 复制代码
import pytest
from utils import UtilsDriver

#用例最开始执行
@pytest.mark.run(order=1)
class TestBegin:
    def test_begin(self):
        UtilsDriver.set_quit_driver(False)

2、增加test_end.py文件,最后执行后退出驱动

python 复制代码
import pytest
from utils import UtilsDriver

#用例最后执行,通过order值大小
@pytest.mark.run(order=9)
class TestEnd:
    def test_end(self):
        UtilsDriver.set_quit_driver(True)
        UtilsDriver.quit_driver()

3、用例执行:两个测试文件。

python 复制代码
#第一个用例执行
@pytest.mark.run(order=2)
@allure.story("登录模块")
class TestLogin:

#第二个用例执行
@pytest.mark.run(order=3)
class TestDigit:

用例执行

1、输入pytest执行即可

相关推荐
默_笙3 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003963 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技3 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时3 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
奇思妙想聪明勤奋的小羊3 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1233 天前
2026年第38周GitHub趋势周报
python·科技·github