在jMeter中创建Java请求以验证多个变量

时间:2016-11-15 05:44:54

标签: java jmeter

enter image description here

在My HTTP Request中,我使用JSON Path Extractor提取了一些变量。我想创建一个Java请求,它将验证上述变量。即我想检查 reqVar1的值是否等于resVar1 reqVar2等于resVar2或不等于

2 个答案:

答案 0 :(得分:0)

你正在使事情变得复杂,你可以使用普通Response Assertion来实现同样的目标。

例如,如果您有一个JMeter变量${var1},并且需要将其与${var2}${var3}${var4}进行比较,则只需配置响应断言,如:

Response Assertion Example configuration

有关有条件地将采样器结果标记为成功或失败的更多信息:How to Use JMeter Assertions in Three Easy Steps

答案 1 :(得分:-1)

您可以添加https://medium.com/@ankushaggarwal/push-notifications-in-ionic-2-658461108c59#.tis93ojyf来比较值,而不是Java Request sampler。以下是代码:

if(vars.get("reqVar1").equals(vars.get("resVar1")))
{
    if(vars.get("reqVar2").equals(vars.get("resVar2")))
    {
        SampleResult.setResponseCode("200");
        SampleResult.setResponseMessage("SUCESS");
    }
    else{
        SampleResult.setResponseCode("403"); // keep error code as per your wish
        SampleResult.setResponseMessage("reqVar2 and reqVar2 are NOT same" + vars.get("reqVar2") + vars.get("resVar2"));
    }
}
else{
    SampleResult.setResponseCode("403"); // keep error code as per your wish
    SampleResult.setResponseMessage("reqVar1 and reqVar1 are NOT same" + vars.get("reqVar1") + vars.get("resVar1"));
}

将BeanShell Assertion作为子元素添加到HTTP Sampler,在其中获取reqVar1, reqVar2, resVar1, resVar2的值

根据If条件做出决定后,您可以使用SampleResult

更改回复代码和消息

查看以下参考资料,其中显示了您可以使用的所有方法:

  1. BeanShell Assertion
  2. 图片参考: https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html