接口测试 —— Jmeter 之测试片段的应用

一、什么是测试片段?

控制器上一种特殊的线程组,它与线程组处于一个层级。与线程组不同的就是:测试片段不会执行。它是一个模块控制器或者被控制器应用时才会被执行。通常与Include Controller或模块控制器一起使用。

1.1 那它有啥作用?

  1. 当jmeter脚本非常复杂的时候,可以通过测试片段分模块管理用例
  2. 当jmeter脚本由多个测试人员共同完成,通过测试片段分人分模块管理用例

1.2 那我怎么使用控制器来调用它?

1、右键测试计划->添加Test Fragment

2、在测试片段下,整理好测试用例脚本;

3、保存测试片段脚本。选择文件--->保存测试计划为--->保存到本地。

4、其他模块整理的用例同理按上面1、2、3步来新建保存。

二、使用Include Controller调用测试片段

Include Controller可以直接引用测试片段保存的jmx文件,但如果使用Cookie管理器或用户定义的变量,则需要将这些变量放在顶级测试计划中,而不是包含的jmx文件中,否则无法保证运行正常。

重新打开一个jmeter窗口,添加好线程组、用户定义变量、Include Controller、查看结果树。

1、用户定义变量设置好访问的ip及port

2、Include Controller中选择本地保存好的测试片段脚本

ps:这些测试片段的脚本可以集中管理在jmeter的bin目录下,在bin目录下新建一个项目文件夹,实现测试用例集中管理;Include Controller中修改为相对路径

3、运行,查看结果树能看到测试结果

三、使用模块控制器调用测试片段

模块控制器提供了一种在运行时将测试片段替换为当前测试计划的机制。测试片段可以位于任何线程组中。

1、打开一个jmeter窗口,添加好线程组、用户定义变量、模块控制器、测试片段、查看结果树。

2、用户定义变量同样定义好访问ip及port端口号,以下用户模块、充值模块为测试片段

3、同一个线程组中,有多个测试片段,只需通过模块控制器下拉框中选择适当的控制器,即可在这些多个测试用例之间轻松切换。但注意这些片段名称必须唯一。

  1. 模块控制器只选择用户模块,则只运行用户模块的测试片段
  1. 模块控制器只选择充值模块,则只运行充值模块的测试片段

4、若片段位于线程组中且可运行,则需要禁用其Controller以防止片段运行,模块控制器除外。

运行结果:

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

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

相关推荐
月明长歌1 小时前
【码道初阶】【LeetCode 572】另一棵树的子树:当“递归”遇上“递归”
算法·leetcode·职场和发展
月明长歌2 小时前
【码道初阶】LeetCode 622:设计循环队列:警惕 Rear() 方法中的“幽灵数据”陷阱
java·算法·leetcode·职场和发展
Jeremy爱编码3 小时前
leetcode热题路径总和 III
算法·leetcode·职场和发展
努力学算法的蒟蒻3 小时前
day33(12.14)——leetcode面试经典150
面试·职场和发展
郝学胜-神的一滴3 小时前
Linux C++会话编程:从基础到实践
linux·运维·服务器·开发语言·c++·程序人生·性能优化
小年糕是糕手4 小时前
【C++同步练习】类和对象(三)
开发语言·jvm·c++·程序人生·考研·算法·改行学it
小年糕是糕手4 小时前
【C++同步练习】内存管理
开发语言·jvm·数据结构·c++·程序人生·算法·改行学it
CoderYanger12 小时前
C.滑动窗口-求子数组个数-越长越合法——2799. 统计完全子数组的数目
java·c语言·开发语言·数据结构·算法·leetcode·职场和发展
老马啸西风13 小时前
成熟企业级技术平台-10-跳板机 / 堡垒机(Bastion Host)详解
人工智能·深度学习·算法·职场和发展
老马啸西风14 小时前
成熟企业级技术平台-09-加密机 / 密钥管理服务 KMSS(Key Management & Security Service)
人工智能·深度学习·算法·职场和发展