断言响应数据失败

时间:2018-06-12 09:47:44

标签: jmeter

我正在JMeter中执行一个响应数据就像

的URL
{"RESPONSECODE":1,"ERRORCODE":0,"REGID":123}. 

我需要为响应代码和放大器声明这些数据。错误代码,所以我补充说 Response Assertion到线程组并构造了一个像

这样的正则表达式
/^\w+(?:RESPONSECODE)(?:1)?(?:ERRORCODE)(?:0)?(?:REGID)[0-9]/`. 

Regid将是一个随机整数。我不应该为Errorcode获得任何其他整数但是0。还选择了Response Message&包含Response Assertion中的单选按钮。

但即使响应代码和错误代码符合预期,断言也会失败。

2 个答案:

答案 0 :(得分:2)

请注意,您可以使用JSON Assertion检查路径

$.ERRORCODE

并使用预期值检查Additionally assert valueMatch as Regular expression

[0]{1}

这将检查只有0返回

答案 1 :(得分:1)

  1. 将“要测试的字段”更改为Text Response
  2. 将正则表达式更改为:

    {"RESPONSECODE":(\d+),"ERRORCODE":0,"REGID":(\d+)}
    
  3. 另请注意,自JSON Assertion以来可以使用JMeter 4.0,这样可以更方便地声明JSON响应数据类型