Jmeter:结果响应与JDBC变量的多个结果的比较

时间:2017-09-26 06:59:28

标签: jmeter jmeter-3.2

在j meter中:在bean-shell断言或其他任何我希望匹配我使用Jason提取器获取的响应内容时假设:

Result[1]=A, Result[2]=b, Result[3]=c 

等我使用JDBC预处理器获取的Versus变量已保存为:

Result_1=, Result_2=B, Result_3=c.

我能够一次匹配1个变量,但不能同时匹配所有变量。所以需要帮助bean-shell代码一次比较所有结果。

1 个答案:

答案 0 :(得分:0)

  1. JSR223 Assertion添加到您的测试计划中(通常是您希望失败的Sampler的孩子)
  2. 将以下代码放入“脚本”区域

    for (int i = 1; i <= Integer.parseInt(vars.get('ResultFromJSON_matchNr')); i++) {
        if (!vars.get('ResultFromJSON' + i).equals(vars.get('ResultFromJDBC_' + i))) {
            AssertionResult.setFailure(true)
            AssertionResult.setFailureMessage('Variables mismatch')
        }
    }
    
  3. 确保您选择groovy作为“语言”并勾选Cache compiled script if available
  4. 上述脚本假设ResultFromJSONResultFromJDBC JMeter变量引用名称,根据您的实际定义进行修改。

    更多信息:Scripting JMeter Assertions in Groovy - A Tutorial