负载测试 - Jmeter 预处理器
Load Test - Jmeter PreProcessor
我有一个预处理器可以创建随机 uuid 和随机字符串,如下所示
import java.util.UUID;
import org.apache.commons.lang3.RandomStringUtils;
String testId1=UUID.randomUUID().toString();
String testId2=RandomStringUtils.randomAlphanumeric(10);
vars.putObject("testId1",testId1);
vars.putObject("testId2",testId2);
测试计划创建如下
post 异常在负载中使用了上述 id。第一次脚本为 运行 时,请求中的 testId1 和 testId2 为 ${testId1}
和 ${testId2}
当我 运行 在 GUI 中对几个样本进行此测试时,我看到生成了这些变量。我 运行 在分布式模式下进行此测试,我发现从一台服务器生成了 testId1 和 testId2,但不是从其他服务器生成的。(非 GUI 模式)这里会出现什么问题?
如果“其他服务器”存在“问题”,您将在该服务器的 jmeter-server.log
文件中找到原因。通常 JMeter 会向其 log file 打印足够数量的故障排除信息,这非常有用,尤其是当 JSR223 预处理器因某种原因失败时。
可以增加整个 JMeter 应用程序的任一特定组件的日志详细程度,有关详细信息,请参阅 How to Configure JMeter Logging 文章。
请记住,您应该避免编写脚本并尽可能坚持使用 JMeter 的内置测试元素,在您的情况下,您可以使用 __UUID() and __RandomString() 函数
生成两个变量
我有一个预处理器可以创建随机 uuid 和随机字符串,如下所示
import java.util.UUID;
import org.apache.commons.lang3.RandomStringUtils;
String testId1=UUID.randomUUID().toString();
String testId2=RandomStringUtils.randomAlphanumeric(10);
vars.putObject("testId1",testId1);
vars.putObject("testId2",testId2);
测试计划创建如下
${testId1}
和 ${testId2}
当我 运行 在 GUI 中对几个样本进行此测试时,我看到生成了这些变量。我 运行 在分布式模式下进行此测试,我发现从一台服务器生成了 testId1 和 testId2,但不是从其他服务器生成的。(非 GUI 模式)这里会出现什么问题?
如果“其他服务器”存在“问题”,您将在该服务器的 jmeter-server.log
文件中找到原因。通常 JMeter 会向其 log file 打印足够数量的故障排除信息,这非常有用,尤其是当 JSR223 预处理器因某种原因失败时。
可以增加整个 JMeter 应用程序的任一特定组件的日志详细程度,有关详细信息,请参阅 How to Configure JMeter Logging 文章。
请记住,您应该避免编写脚本并尽可能坚持使用 JMeter 的内置测试元素,在您的情况下,您可以使用 __UUID() and __RandomString() 函数
生成两个变量