HttpRunner的测试用例分层机制

测试用例分层介绍:

在接口自动化测试维护过程中,由于测试用例的增加和需求变更导致测试用例的调整,使自动化测试用例的维护非常麻烦,直接关系到自动化测试能否持续有效地在项目中开展。

概括来说,测试用例分层机制的核心是将接口定义、测试步骤、测试用例、测试场景进行分离,单独进行描述和维护,从而尽可能地减少自动化测试用例的维护成本。

测试用例分层机制下的核心概念:

接口定义(api)对接口信息进行独立管理

测试用例(testcase)应该是完整且独立的,每条测试用例应该是都可以独立运行的

测试步骤(teststep)是测试步骤的有序集合,每一个测试步骤对应一个API 的请求描述

测试用例集(testsuite)是测试用例的无序集合,集合中的测试用例应该都是相互独立,不存在先后依赖关系的;如果确实存在先后依赖关系,那就需要在测试用例中完成依赖的处理

测试用例分层具体操作

api层 < testcases层 < testsuites层

api层(接口定义单个接口): 可以编写多个yml文件的接口

testcases层(测试用例用例层): 可以调用api层的多个yml文件接口;也可以引用testcases层别的yml文件(通过用例层调用用例层,需要使用output/export进行返回,在使用extract进行提取)

testsuites层(测试套件层):可以调用testcases层的多个yml文件

注:可以在testcases层调用多个api层的接口,可以做成几个子套件,在testsuites层做个主套件,可以调用多个testcases层的用例;

1、接口定义(API)

为了更好地对接口描述进行管理,推荐使用独立的文件对接口描述进行存储,即每个文件对应一个接口描述。

在项目的根目录下新建一个以api命名的文件夹,并在api下编写yml文件;

注:api下面的yaml文件都是顶格写的,没有 - config 和 - test ;如下图:

2、测试用例(testcase)

引用接口定义

有了接口的定义描述后,我们编写测试场景时就可以直接引用接口定义了。在测试步骤(teststep)中,可通过api 字段引用接口定义,引用方式为对应API 文件的路径,绝对路径或相对路径均可。推荐使用相对路径,路径基准为项目根目录,即debugtalk.py 所在的目录路径。

在项目的根目录下新建一个以 testcases 命名的文件夹,并在文件夹里面编写yml文件;

注: 在测试步骤中引用api层的文件格式 api: api层的yaml文件路径;如下图:

引用同层级 testcases 层

通过用例层 调用 用例层,需要使用output/export进行跨文件传输返回,在使用 extract 进行提取,如下图

3、测试套件(testsuite)

当测试用例数量比较多以后,为了方便管理和实现批量运行,通常需要使用测试套件来对测试用例进行组织。

在项目的根目录下新建一个以 testsuites 命名的文件夹,并在文件夹里面编写yml文件;

注:在测试套件中引用测试用例层的格式 testcase: 用例层的yaml文件路径;

写法有两种方式,见下图:

注:

写法1:自定义编写测试用例名称,如: get_token

写法2:- name: 自定义编写测试用例名称

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
96706 小时前
2025年年度总结之24.教育之学习方法
程序人生
qq 137401861115 小时前
GB/T 19450-2004 纸基平托盘 安全检测 + 质量检测全流程实操指南
功能测试·安全·可用性测试·安全性测试
knight_9___16 小时前
LLM工具调用面试篇6
人工智能·python·面试·职场和发展·llm·agent
人道领域18 小时前
【LeetCode刷题日记】掌握二叉树遍历:栈实现的三种绝妙方法
算法·leetcode·职场和发展
1104.北光c°18 小时前
【AI核心概念讲解】一口气搞懂 Agent:干翻传统后端!自主循环决策的秘密,ReAct 与 Plan-and-Execute 范式
java·人工智能·程序人生·ai·agent·react·智能体
郝学胜-神的一滴19 小时前
深入理解回归损失函数:MSE、L1 与 Smooth L1 的设计哲学
人工智能·python·程序人生·算法·机器学习·数据挖掘·回归
weisian15120 小时前
基础篇--概念原理-3-向量是什么?——从原理到实战,一篇讲透
面试·职场和发展·向量
测试员周周20 小时前
【AI测试系统】第6篇:需求扔进去,3 分钟出测试用例?AI测试系统的 RAG 知识增强实战
人工智能·python·功能测试·测试工具·测试用例
逻辑驱动的ken20 小时前
Java高频面试考点场景题22
java·开发语言·jvm·面试·职场和发展·求职招聘·春招
测试员周周20 小时前
【AI测试功能2】AI功能测试的“不可确定性“难题与应对思路:从精确断言到统计判定的完整方案
大数据·人工智能·python·功能测试·测试工具·单元测试·测试用例