gpt4 book ai didi

java - Jmeter:如何在单个请求中传递数组值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:33 25 4
gpt4 key购买 nike

我要做的事:
1. 从之前的响应中提取所有客户ID。
2. 随机播放所有ID。
3. 在一个请求中传递所有id。 (例如:custPref - 9768,7651,3215,....)

我使用正则表达式(设置匹配号 = -1)将所有客户 ID 放入一个变量 (custID)

通过使用 For Each Controller ,我可以在一个请求中传递一个客户 ID。
但是现在我必须在一个请求中传递所有客户 ID,以便在使用逗号分隔值洗牌客户 ID 后设置客户的偏好。

此外,客户 ID 的数量不是固定的,因此不能将变量用作 ${custID}_g1、${custID}_g0...

能否请您建议任何方式来洗牌客户 ID 并在一个请求中传递所有 ID。

最佳答案

提示:您可以获得客户 ID 的数量 using custID_matchNr

因此您完整的 Beanshell 脚本可能如下所示:

import java.util.ArrayList;
import java.util.Collections;

ids = new ArrayList();
idCount = Integer.parseInt(vars.get("custID_matchNr"));
for (int i=0; i<idCount; i++){
ids.add(vars.get("custID_" + String.valueOf(i+1)));
}

Collections.shuffle(ids);

builder = new StringBuilder();
for (String id: ids){
builder.append(id);
builder.append(",");
}
builder.deleteCharAt(builder.length()-1);
vars.put("custPref", builder.toString());

关于java - Jmeter:如何在单个请求中传递数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13780578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com