使用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执行即可

相关推荐
小柯南敲键盘1 小时前
跨境电商批量图片翻译与视频字幕翻译,就用跨马AI工具
大数据·人工智能·python·音视频
geovindu1 小时前
CSharp: Command Pattern
开发语言·后端·c#·.net·.netcore·命令模式·行为模式
心易行者1 小时前
Python自动化测试7步落地法:用python在线运行省掉90%环境配置时间
java·开发语言·人工智能·python·log4j·ai编程
Boop_wu2 小时前
[LangGraph] 案例 2 : 支持搜索的智能代理系统
服务器·windows·python·langchain
2601_962297252 小时前
Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例
python·selenium·jenkins·pytest·allure
tedcloud1232 小时前
OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具
linux·运维·服务器·开发语言·后端·rust·开源
今天AI了吗2 小时前
Codex 配置自定义 AI API 完整指南:从零到一接入你的专属模型
java·人工智能·python·数据分析·embedding
Tanjia_kiki2 小时前
谷歌浏览器中F12编辑并重发请求
开发语言·前端·javascript
阿童木写作2 小时前
跨境电商批量图片翻译与视频字幕翻译工具推荐
python·音视频