浅谈逻辑控制器之Include控制器

浅谈逻辑控制器之Include控制器

"Include控制器"是一个特别实用的功能,它允许用户将一个或多个测试片段(通常是请求)包含到不同的测试计划或模块中,从而实现代码的复用和测试结构的优化。本文档将详细介绍JMeter中的Include控制器及其使用方法。

什么是Include控制器?

Include控制器允许测试人员从外部文件引用测试片段(.jmx文件),并将这些片段的内容合并到当前测试计划中。这意味着你可以创建通用的请求集合(如登录流程、特定API调用等),然后在不同的测试场景中重复使用,而无需复制粘贴这些请求。这种方式提高了测试脚本的维护性和灵活性。

使用场景

● 代码复用:当你有多个测试计划需要执行相同的请求序列时,可以将这些请求放在一个单独的.jmx文件中,并通过Include控制器引用,避免重复编写相同的测试步骤。

● 模块化测试:将测试计划分解为逻辑模块(如登录模块、搜索模块等),每个模块作为一个独立的.jmx文件,通过Include控制器集成到主测试计划中,便于管理和维护。

● 灵活配置:在不同的测试环境中,可能需要调整某些请求的配置(如服务器地址)。通过将这些配置敏感的部分抽离到外部文件,可以在不修改主测试计划的情况下快速适应环境变化。

如何使用Include控制器

步骤1:准备被包含的测试片段

  1. 首先,在JMeter中创建一个新的测试计划或打开现有的测试计划。
  2. 设计并保存你需要复用的测试片段到一个.jmx文件中。这可以是简单的HTTP请求、事务控制器、循环控制器等任何组合。
    步骤2:在目标测试计划中添加Include控制器
  3. 打开你希望包含上述测试片段的JMeter测试计划。
  4. 右键点击测试计划的相应位置(如测试计划根节点、线程组内),选择"添加" > "逻辑控制器" > "Include Controller"。
  5. 给Include控制器命名,以便于识别其用途。
    步骤3:指定包含的文件
  6. 在Include控制器的属性中,找到"文件名"字段。
  7. 输入或浏览你想要包含的.jmx文件的路径。如果要包含多个文件,可以使用逗号分隔文件路径。
    步骤4:验证与运行
  8. 确认所有包含的文件路径正确无误。
  9. 保存测试计划。
  10. 运行测试计划,确保Include控制器成功加载并执行了指定的测试片段。

实例说明

所有我们编写两个JMeter脚本,其中脚本1内容如下:

其中BeanShell取样器1内容如下:

java 复制代码
log.info("测试片段1");

其中BeanShell取样器2内容如下:

java 复制代码
log.info("测试片段2");

其中BeanShell取样器3内容如下:

java 复制代码
log.info("测试片段3");

其他参数默认。

该脚本保存路基为D:\test.jmx

脚本2内容如下:

Include控制器:Include Test Plan中文件名配置为D:\test.jmx

其中BeanShell取样器4内容如下:

java 复制代码
log.info("测试");

运行脚本,我们可以从JMeter日志中看到如下结果

2024-06-25 14:52:57,075 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-1

2024-06-25 14:52:57,075 INFO o.a.j.u.BeanShellTestElement: 测试片段1

2024-06-25 14:52:57,075 INFO o.a.j.u.BeanShellTestElement: 测试片段2

2024-06-25 14:52:57,075 INFO o.a.j.u.BeanShellTestElement: 测试

2024-06-25 14:52:57,075 INFO o.a.j.t.JMeterThread: Thread is done: 线程组 1-1

上述打印信息可以了解,被引用的test.jmx脚本只运行测试片段中的内容。

注意事项

● 路径问题:确保指定的文件路径是相对于JMeter启动目录的绝对路径或相对路径,否则可能会导致找不到文件的错误。

● 资源管理:被引用的.jmx文件应当保持简洁、专注于特定功能,便于维护和复用。

● 变量与函数:在被包含的文件中使用变量和函数时,要注意它们的上下文环境,确保变量能够正确解析。

结语

Include控制器是提升JMeter测试脚本可维护性和灵活性的有效工具。通过合理利用此功能,测试工程师可以更加高效地组织和管理复杂的测试场景,同时保证测试代码的整洁和一致性。掌握Include控制器的使用,将使你的性能测试工作事半功倍。

相关推荐
测试老哥8 小时前
Jmeter测试脚本编写技巧
自动化测试·软件测试·功能测试·测试工具·jmeter·职场和发展·性能测试
易思涯10 小时前
【已解决】黑马点评项目jmeter高并发测试中用户数据的生成
jmeter·解决方法·黑马点评
霍格沃兹测试开发学社测试人社区11 小时前
软件测试丨性能测试工具-JMeter
软件测试·测试开发·测试工具·jmeter·性能测试
字节程序员13 小时前
Jmeter分布式压力测试
分布式·jmeter·压力测试
美团测试工程师1 天前
九大高效的前端测试工具与框架
软件测试·测试工具·jmeter
love静思冥想1 天前
JMeter 使用详解
java·jmeter
互联网杂货铺2 天前
几个常见的Jmeter压测问题
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
ggggyyyyy09282 天前
接口测试-Fidder及jmeter使用
测试工具·jmeter·fiddler·接口测试
明月与玄武2 天前
Jmeter 分布式压测部署--常见坑以及解决方案
分布式·jmeter
字节程序员2 天前
使用JUnit进行集成测试
jmeter·junit·单元测试·集成测试·压力测试