浅谈逻辑控制器之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控制器的使用,将使你的性能测试工作事半功倍。

相关推荐
程序媛_10 小时前
【JMeter】接口实战
jmeter
cuoluoche10 小时前
【jmeter】报告怎么看
jmeter
元媛媛10 小时前
Jmeter实战
jmeter
慢飞的笨鸟10 小时前
Jmeter本身耗资源导致压测不上去解决方案
jmeter
程序员三藏1 天前
Jmeter的三种参数化方式详解
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
虚妄狼3 天前
【Jmeter】Jmeter 高并发性能压力测试
jmeter
沉豆3 天前
Jmeter调用jar包中的方法,并使用返回值当请求参数
java·jmeter·jar
慢飞的笨鸟4 天前
Jmeter压测手册:脚本配置、服务器环境搭建与运行
jmeter
软件测试大叔6 天前
arm服务器运行Jmeter报错问题UseG1GC
jmeter
海姐软件测试6 天前
使用Jmeter做功能测试有哪些优点?
功能测试·jmeter