JMeter断言与groovy失败

时间:2017-05-24 13:52:54

标签: json groovy jmeter jsr223

更新: 我想检查一下他的结构上的JSON文档。我用语言groovy创建了一个JSR223 Assertion。我检查JSON结构的代码如下所示:

=SUMPRODUCT(($E$2:$E$8=G2)*SUMIF(A:A,$D$2:$D$8,B:B))+SUMIF(A:A,G2,B:B)

JMeter日志文件中的验证效果很好。 但在我的查看结果树中,我收到以下错误消息:

import groovy.json.*;
import org.apache.jmeter.samplers;

def response = prev.getResponseDataAsString();
log.info("Response" + response);
def json = new JsonSlurper().parseText(response);

//tests
def query = json.query;
assert query instanceof String;

def totalResults = json.totalResults;
assert query instanceof Integer;

def from = json.from;
assert from instanceof Integer;

def to = json.to;
assert to instanceof Integer;

assertionResult = new AssertionResult("Assertion failed! See log file.");
assertionResult.setError(true);
assertionResult.setFailureMessage(e.toString());

我想看看测试结果是否成功。

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

  1. 不要实例化AssertionResult类,它是预定义

    JSR223 Assertion Result

  2. 不要使用Groovy assert keyword 它不会像预期的那样使父采样器失败,请参阅下面的示例简单代码

    if (1 != 2) {
        AssertionResult.setFailure(true)
        AssertionResult.setFailureMessage("1 is not equal to 2")
    }
    

    一旦你得到它如下工作:

    JSR223 Assertion sample

    您可以根据需要开始修改测试

  3. 请参阅How to Use JMeter Assertions in Three Easy Steps指南,了解有关在JMeter测试中使用断言的更多信息。