如何在一个组中挑选和使用不同数量的用户并让他们在 Jmeter 中完成一些任务
How to pick up and use varying number of users in a group and get them to do some task in Jmeter
想知道是否有人可以提供帮助!
我正在尝试复制一个组可能有不同数量成员的场景。所有这些成员也都附有一个文件。我需要将这些用户和相关文件提取到批处理任务中。目前,我必须将用户数量固定为 15 个才能执行此操作,但我希望对不同数量的用户执行此操作。我已经使用 regEx 提取器来选择这 2 个值并在以下 HTTP 请求中使用它。在所附的图片中,'ReportUids' 和 'ContributerUids' 是有问题的那个。如果有动态,我如何让 Jmeter 拾取这些?
您可以使用Beanshell PreProcessor动态添加请求参数。
- 将 Beanshell 预处理器添加为您的
Batch Step 3 of 5
请求的子项
将以下代码放入Beanshell PreProcessor的"Script"区域
Iterator it = vars.getIterator();
while (it.hasNext()) {
Map.Entry var = (Map.Entry) it.next();
log.info("Processing variable: " + var.getKey());
if (var.getKey().toString().startsWith("Pld")) {
sampler.addArgument("ContributorUids", var.getValue().toString());
}
if (var.getKey().toString().startsWith("Ruid")) {
sampler.addArgument("ReportUids", var.getValue().toString());
}
}
有关在 JMeter 中使用 Beanshell 的扩展信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component 指南。
棘手的是,HTTP 方法参数名称的唯一性并不是必须的,因此如何处理重复的参数名称取决于开发人员。 JMeter 使用 Java Properties 来存储参数,因此它将是最新的。如果您还需要修改参数名称 - 您应该可以通过在 Beanshell 之上稍微更改来完成。
想知道是否有人可以提供帮助!
我正在尝试复制一个组可能有不同数量成员的场景。所有这些成员也都附有一个文件。我需要将这些用户和相关文件提取到批处理任务中。目前,我必须将用户数量固定为 15 个才能执行此操作,但我希望对不同数量的用户执行此操作。我已经使用 regEx 提取器来选择这 2 个值并在以下 HTTP 请求中使用它。在所附的图片中,'ReportUids' 和 'ContributerUids' 是有问题的那个。如果有动态,我如何让 Jmeter 拾取这些?
您可以使用Beanshell PreProcessor动态添加请求参数。
- 将 Beanshell 预处理器添加为您的
Batch Step 3 of 5
请求的子项 将以下代码放入Beanshell PreProcessor的"Script"区域
Iterator it = vars.getIterator(); while (it.hasNext()) { Map.Entry var = (Map.Entry) it.next(); log.info("Processing variable: " + var.getKey()); if (var.getKey().toString().startsWith("Pld")) { sampler.addArgument("ContributorUids", var.getValue().toString()); } if (var.getKey().toString().startsWith("Ruid")) { sampler.addArgument("ReportUids", var.getValue().toString()); } }
有关在 JMeter 中使用 Beanshell 的扩展信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component 指南。
棘手的是,HTTP 方法参数名称的唯一性并不是必须的,因此如何处理重复的参数名称取决于开发人员。 JMeter 使用 Java Properties 来存储参数,因此它将是最新的。如果您还需要修改参数名称 - 您应该可以通过在 Beanshell 之上稍微更改来完成。