Jmeter 正则 ForEach控制器

本文介绍了一种针对H5页面的压力测试方法,包括如何通过正则表达式提取所需参数,使用ForEach控制器进行循环请求,并确保每次请求都能正确展示页面内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



最近有个压力测试的需求。看需求很简单,就是页面的的请求。但是继续深究,因为是H5页面除了请求之外,还要确保页面内容的正确展示。研究了两天,在同事的指点下终于算是跑通了。


业务逻辑。

1:通过URL发起请求,

2:通过接口,请求资源文件id。接口返回为JSON格式。在JSON中解析出imgSrc,

3:然后根据id获取资源文件,展示。


第一步:在接口请求中,添加正则表达式提取器,提取所需的参数id。






第二步:

添加一ForEach控制器,将正则获取到的imgSrc作为输入变量前缀,因为之前已知会有多少个id,所以序号设置为0~25.输出变量名自定义。



第三步:

循环控制器下创建一http请求,将控制器中的输出参数,作为http请求参数传递过来



至此相关测试的页面可以调通。

以上配置适用于 (当请求的结果是多个值时,需要获取每一个的值,且都执行一遍后面的请求的场景)


### JMeter ForEach 控制器设置开始和结束循环字段 在 JMeter 中配置 `ForEach` 控制器来指定开始和结束循环字段的方法如下: 对于 `ForEach` 控制器,主要通过两个属性来进行控制:起始索引(`Start index for loop`)和结束索引(`End index for loop`)。当希望遍历特定范围内的元素时,这两个选项非常有用。 - **Start index for loop (exclusive)**: 此参数定义了循环开始前排除的第一个索引位置。默认情况下留空表示从第一个匹配项开始。 - **End index for loop (exclusive)**: 定义了循环停止之前最后一个被包含在内的索引位置。同样,默认为空意味着直到最后一条记录为止[^4]。 为了更直观地展示如何设定这些值,请看下面的例子: 假设有一个 JSON 数组响应体如下所示: ```json [ {"id": "001", "name": "Alice"}, {"id": "002", "name": "Bob"}, {"id": "003", "name": "Charlie"} ] ``` 如果只想迭代第二个到第三个对象,则可以在 `ForEach` 控制器中做如下配置: | 属性 | 描述 | | --- | --- | | Input variable prefix | id | | Output variable name | currentId | | Start index for loop (exclusive) | 1 | | End index for loop (exclusive) | 3 | 这意味着将跳过第零个条目(即 ID=001 的 Alice),而只处理 Bob 和 Charlie 这两条数据。 需要注意的是,在实际测试计划里还需要配合其他组件一起工作,比如正则表达式提取器或 JSON 提取器用于捕获目标变量,并确保它们能够正确解析出预期的结果集以便于后续的 ForEach 处理逻辑使用[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值