有没有办法在 jmeter 的结果树中测试 jsr223 断言(例如,我们可以在结果树中测试正则表达式)

Is there a way to test jsr223 assertion in result tree of jmeter (for e.g we can test Regular expression in result tree)

目前我在 jmeter 中使用 jsr223 断言进行 API 的功能测试。所以我需要在结果树中测试我对响应消息的断言,这样我们就不需要每次都 运行 调用。 (例如,我们可以在结果树中测试正则表达式)。 那么有什么方法可以根据响应消息测试jsr223断言。

prev.getResponseMessage() - 给出 HTTP 响应消息

prev.getResponseDataAsString() - 以字符串形式给出完整的响应。

JSR223 Assertion中尝试如下:

log.info(prev.getResponseMessage());
String response = prev.getResponseMessage();
if(response.contains("OK")){
    AssertionResult.setFailure(true);
    AssertionResult.setFailureMessage("response message contains OK");
}

您可以访问 JSR223 Assertion 中的以下内容:

  1. Response- 使用 prevSampleResult
  2. AssertionResult - 您可以根据某些条件调整断言结果。

根据当前的 JMeter 版本 (3.1),这是不可能的,但是存在解决方法。

您可以使用 Dummy Sampler 来模拟您的测试数据,这样您就不必重新 运行 整个场景来验证单个断言。

您可以通过 JMeter Plugins Manager

安装 Dummy Sampler(以及任何其他 JMeter 插件)

[