使用JSON提取器从Sampler Result提取JSON响应状态代码

时间:2018-12-05 05:31:27

标签: jmeter

我正在用Beanshell编写脚本,并通过首先检查JSON响应发送的响应状态(即“ 200”,但无法找出提取方法)来对其进行验证。

enter image description here

2 个答案:

答案 0 :(得分:1)

  1. Since JMeter 3.1 it is recommended to use Groovy以将脚本编写为Groovy performance is much better than other scripting options,因此请考虑在下一个可用时机迁移到JSR223 Test Elements
  2. 您将无法在此200 status code is related to HTTP protocol上使用JSON Extractor。通常,JMeter会自动将低于400的HTTP状态代码视为成功,但是,如果需要执行显式检查,我建议您使用Response Assertion。相关配置为

    enter image description here

  3. 如果您仍然想继续通过脚本检查响应状态代码,则可以使用JSR223 Assertion和以下代码进行操作:

    if (!SampleResult.getResponseCode().equals("200")) {
        AssertionResult.setFailure(true);
        AssertionResult.setFailureMessage("Response code was not 200, received: " + SampleResult.getResponseCode())
    } 
    

答案 1 :(得分:0)

您需要添加Response Assertion来检查HTTP状态

  

要测试的字段,指示JMeter要测试请求或响应的哪个字段。

     

响应代码-例如200