当前位置: 首页 > news >正文

接口自动化,用例独立还是用例复用

"用例独立。用例相互之间没有依赖,随便拉出一条用例就能执行。"

这是我在文章《接口自动化框架设计漫谈V1.0》提到的,也是我一直坚持的接口自动化用例设计方式。

这么做的依据是某些开源测试框架是这样设计的,某些公司测试平台也是这么设计的,自然而然就这样认为了。最近公司平台做了升级,能够支持用例复用了,让我重新思考接口自动化的用例,到底是独立还是复用。

为什么用例独立?我个人理解,用例独立,可能有点受限于技术实现,比如YAML编写用例,或者平台编写用例,实现成本和取得收益对比来看,用例独立是一种均衡的选择。当然用例独立也有好处:隔离性、可维护性、并行执行、错误定位、数据隔离、报告清晰。

其实从代码复用角度来看,用例复用能提高编写效率,把相对稳定的步骤组装成用例,再复用给其他用例,减少重复代码的编写与维护。

如果使用tep测试框架,个人推荐使用fixture来实现用例复用,借助依赖注入技术,避免循环import等问题。

举例,有1条用例case_hello,打招呼,name是变量,代码如下:

# fixture/fixture_case_hello.py
import pytest
from tep import v@pytest.fixture(scope='session')
def case_hello():def main():msg = 'Hello ${name}'msg = v(msg)print(msg)return main

case_hello定义为fixture,放在fixture目录下并以fixture_开头命名文件,tep框架会自动识别为pytest fixture。其中变量处理使用了函数v()

新建1条用例test_case_reuse,复用case_hello,代码如下:

# test_case_reuse.py
from tep import v, stepdef test(case_hello):v({"name": "Gang"})case_hello()step('welcome', step_welcome)def step_welcome():print('Welcome to tep')

case_hello内部包装了1个内部函数main,返回的是函数引用,所以在用例中进行函数调用case_hello()就能实现用例复用。变量name使用函数v()定义,在用例之间共享。函数v()可以理解为内部变量池,跟JMeter的vars类似,详情可以参考文章《Python处理接口数据,这个函数太香了》。

总结,用例尽量保持独立,如果需要复用,把重复代码封装为用例,在用例级别进行复用。

http://www.gsyq.cn/news/50464.html

相关文章:

  • 【Python3.13】官网学习之控制流
  • 人工智能之编程基础 Python 入门:第六章 基本数据类型(二)
  • 黄景行电脑软件简介
  • 20251115 - CAN协议层梳理【不含电气特性介绍】
  • 校准仪
  • 2025年安徽靠谱的GEO(AI搜索优化)服务商排行榜单
  • (21)100天python从入门到拿捏《XML 数据解析》 - 详解
  • 管理者的三种境界
  • UI设计公司审美积累|APP界面从风格到功能的设计智慧
  • 2025留学生名企内推认准谁?2025全球500强内推实力机构TOP5榜单,学业就业规划一体化服务机构推荐
  • 搬家平台推荐丨AI赋能国内搬家新体验 2025年三大优选搬家公司平台引领行业变革
  • 2025 年 11 月山东实验室净化建设,万级山东实验室净化,高校山东实验室净化最新推荐,聚焦资质、案例、售后的五家机构深度解读!
  • 【PlotNeuralNet】pycharm中运行为什么一定要用 文件名.py,而不能 .\路径\文件名.py?
  • 2025年90度尖角精致钢生产厂家权威推荐榜单:合金精致钢/精密焊接精致钢/90度精致钢源头厂家精选
  • 解锁Android手机
  • OpenCVSharp:使用 MOG(Mixture of Gaussians,高斯混合模型)算法来从视频流中分离前景和背景
  • STM32 中的 printf
  • 2025年国内有实力的智能家居品牌综合评估与选择指南
  • 2025年潜水泵优质厂家权威推荐榜单:小型抽水泵/深井潜水泵/电动水泵源头厂家精选
  • 2025 年三丰影像仪经销商最新推荐排行榜:权威测评原装正品供应商、经销商及代理商,精准匹配精密制造检测需求三丰圆度仪/三丰物镜/三丰(Mitutoyo)/三丰精密量仪供应商推荐
  • 浅谈 SOS DP
  • 第三章作业
  • 腹泻与脱水
  • 2025年烘焙乳化剂定做厂家权威推荐榜单:保健品原料/稳定剂/制酶剂源头厂家精选
  • 【git 学习】-b v5.4.1 --recursive是什么意思
  • 2025年玻璃防霉纸厂家权威推荐榜单:铝板衬纸/晶圆隔离纸/电池片隔离纸源头厂家精选
  • 2025年陶瓷密封环圆台平面磨床批发厂家权威推荐榜单:陶瓷密封筒磨削圆台平面磨床/纸管圆刀片圆台平面磨床/包装材料圆刀片圆台平面磨床源头厂家精选
  • 2025年二氧化碳气体膨胀爆破实力厂家权威推荐榜单:气体爆破原理/气体膨胀爆破/气体爆破源头厂家精选
  • 2025年智慧客房系统供应商权威推荐榜单:行业领军企业深度解析
  • load_balance函数代码详解