Meter 中使用 JSR223 处理数组并传递给 HTTP 请求


Meter 中使用 JSR223 处理数组并传递给 HTTP 请求

一、问题背景

在 JMeter 测试中,需要从给定的数组中随机取出几个元素,并将处理后的数组传递给 HTTP 请求使用。

二、实现步骤

(一)JSR223 前置处理器处理数组

在 JSR223 前置处理器中,使用以下 JavaScript 代码从给定数组中随机取出指定数量的元素,并将结果存储为字符串形式的变量:

copy
// 给定的数组 var givenArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // 要随机取出的数量 var numToPick = 3; // var numToPick = ${__Random(1,10,)}; // 新建一个临时数组,复制给定数组 var tempArray = []; for (var i = 0; i < givenArray.length; i++) { tempArray.push(givenArray[i]); } // 存储随机取出的元素的数组 var pickedArray = []; for (var j = 0; j < numToPick; j++) { if (tempArray.length > 0) { // 生成随机索引 var randomIndex = Math.floor(Math.random() * tempArray.length); // 将随机索引对应的元素添加到结果数组 pickedArray.push(tempArray[randomIndex]); // 从临时数组中删除已选元素 tempArray.splice(randomIndex, 1); } else { break; } } // 将处理后的数组转换为字符串并存储在变量中 var arrayAsString = JSON.stringify(pickedArray); vars.put('processedArrayAsString', arrayAsString);

(二)在 JSR233请求中使用处理后的数组

在请求的参数部分,可以通过 JMeter 变量来引用处理后的数组。可以这样设置:

copy
${processedArrayAsString}

posted @   夷某蓁  阅读(126)  评论(1编辑  收藏  举报
相关博文:
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起