JMeter 检查不同线程上的不同断言
JMeter check different assertion on different threads
使用 JMeter,我想检查只允许 1 次更新的锁定部分
我是一个有 10 个线程的 运行 线程组,预计只有 1 个(不总是第一个)线程到 return 0,另外 9 个线程到 return 1
我该如何断言?
线程组 (10)
- HTTP采样器
- -?断言
编辑
10其实是动态的属性。所以我需要任何线程数只期望 1 个断言 return 成功。
测试是为了检查记录锁定是否有效,并且即使在 stress/load 测试中也只能更新记录一次。
编辑 2
使用关键部分控制器没有给我准确的失败结果
我可以看到两种实现方案的方法:
使用AutoStop Listener available via JMeter Plugins, it has AutoStop on Error Rate feature so you will be able to stop your test if the percentage of failed samplers will be higher than 90. You can install AutoStop Listener using JMeter Plugins Manager:
使用 Taurus tool as a wrapper for your JMeter test, Taurus has Pass/Fail Criteria subsystem 如果单个页面的错误率超过 90%,您可以将您的逻辑有条件地使整个测试失败。 Taurus 将 return 非零退出代码,您可以稍后使用(即触发持续集成服务器中的构建失败)。
最后我成功了,我将每个线程保存在一个唯一的 id 中,失败计数,最后我使用 tearDown Thread Group
来计算失败
在 Thread Group
请求检查无效响应后 If Controller
在它下面 JSR223 Sampler 它通过每个线程的唯一 id 标记失败标志:
String threadNumber = String.valueOf(ctx.getThreadNum());
props.put("failures" + threadNumber, 1);
JSR223 Sampler 将失败,除非 只有一个 成功的请求存在
int numberOfFailures = 0;
for (i=0; i < 10; i++) {
String id = "failures"+ String.valueOf(i);
failureFlag = props.get(id);
log.info("failureFlag=" + failureFlag);
if (failureFlag == 1){
numberOfFailures ++;
}
}
if (numberOfFailures != 9) {
SampleResult.setSuccessful(false);
}
使用 JMeter,我想检查只允许 1 次更新的锁定部分
我是一个有 10 个线程的 运行 线程组,预计只有 1 个(不总是第一个)线程到 return 0,另外 9 个线程到 return 1 我该如何断言?
线程组 (10) - HTTP采样器 - -?断言
编辑
10其实是动态的属性。所以我需要任何线程数只期望 1 个断言 return 成功。
测试是为了检查记录锁定是否有效,并且即使在 stress/load 测试中也只能更新记录一次。
编辑 2
使用关键部分控制器没有给我准确的失败结果
我可以看到两种实现方案的方法:
使用AutoStop Listener available via JMeter Plugins, it has AutoStop on Error Rate feature so you will be able to stop your test if the percentage of failed samplers will be higher than 90. You can install AutoStop Listener using JMeter Plugins Manager:
使用 Taurus tool as a wrapper for your JMeter test, Taurus has Pass/Fail Criteria subsystem 如果单个页面的错误率超过 90%,您可以将您的逻辑有条件地使整个测试失败。 Taurus 将 return 非零退出代码,您可以稍后使用(即触发持续集成服务器中的构建失败)。
最后我成功了,我将每个线程保存在一个唯一的 id 中,失败计数,最后我使用 tearDown Thread Group
来计算失败
在 Thread Group
请求检查无效响应后 If Controller
在它下面 JSR223 Sampler 它通过每个线程的唯一 id 标记失败标志:
String threadNumber = String.valueOf(ctx.getThreadNum());
props.put("failures" + threadNumber, 1);
JSR223 Sampler 将失败,除非 只有一个 成功的请求存在
int numberOfFailures = 0;
for (i=0; i < 10; i++) {
String id = "failures"+ String.valueOf(i);
failureFlag = props.get(id);
log.info("failureFlag=" + failureFlag);
if (failureFlag == 1){
numberOfFailures ++;
}
}
if (numberOfFailures != 9) {
SampleResult.setSuccessful(false);
}