2017-04-18 50 views
0

利用JMeter我要检查锁定节只允许1个更新的JMeter检查不同的说法在不同的线程

我正在运行的线程组,10个线程,预计只有1(并不总是第一个)线程返回0和另外9人返回1 我该如何声明它?

线程组(10) - HTTP Sampler - - ?断言

编辑

10实际上是一个动态属性。所以我需要任何线程数来期望只有1个断言才能返回成功。

测试是检查记录的锁定是否正常工作,即使在压力/负载测试中也只能更新一次记录。

编辑2

使用关键部分控制器没有给我失败的确切结果

+0

什么是锁定部分:如果不仅 1成功请求成功呃失败了? –

+0

代码中的测试锁定只允许一次执行操作,而其他进程将失败 – user7294900

回答

0

最后我成功了,我保存在一个唯一的ID每个线程失败计数和我用tearDown Thread Group末与If Controller

请求核查后计算出故障

在线程组为无效响应

并根据它JSR223 Sampler它通过每个线程唯一ID标记的故障标志:

String threadNumber = String.valueOf(ctx.getThreadNum()); 
props.put("failures" + threadNumber, 1); 

JSR SAMPL

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); 
} 
0

我可以看到实现您的方案有2种方法:

  1. 使用AutoStop Listener可通过JMeter Plugin s,它具有AutoStop on Error Rate功能,因此如果失败的采样器的百分比高于90,您将能够停止测试。您可以安装设置AutoStop监听使用JMeter Plugins Manager

    JMeter Plugins Manager Autostop

  2. 使用Taurus tool作为JMeter测试的包装,金牛座有Pass/Fail Criteria subsystem,你可以把你的逻辑有条件地失败,整个测试如果一个页面错误率将超过90%。 Taurus将返回非零退出代码,您可以稍后使用它(即在持续集成服务器中触发构建失败)。

+0

我只需要Jmeter解决方案。我用Jmeter使用Jenkins,期望所有Jmeter采样器都能成功 – user7294900

相关问题