尽管实际值和预期值相同,但Jmeter断言失败

时间:2020-06-19 08:50:18

标签: groovy jmeter assertion jsr223

我想将我的JSON响应中的String参数值与存储在变量中的另一个String值进行比较。 如日志所示,预期变量和实际变量都具有相同的值,但是断言失败。我在哪里做错了?请指导

String actual =  vars.get("DataSourceFormula").toString();
log.info ("Actual Datasource formula is found to be: " + actual);

String expected="Automation Testing+Automation Testing";
vars.put("expected",expected);
log.info ("Expected Datasource formula should be:" + expected);

if (vars.get("expected") != vars.get("actual")) {
props.put("testcaseExecutionStatus",5);
String Status = props.get("testcaseExecutionStatus").toString();
log.info("Status:"+ Status)
AssertionResult.setFailure(true)
AssertionResult.setFailureMessage('Mismatch between expected and actual 
 return;
} 

props.put("testcaseExecutionStatus",1);
String Status = props.get("testcaseExecutionStatus").toString();
log.info("Status:"+ Status)

enter image description here JSON')

1 个答案:

答案 0 :(得分:0)

也许是由于non-printable character造成的,例如多余的空格或换行符或其他语言环境的字符,例如aа是不同的野兽。

您可以尝试将字符串转换为char arrays并逐个字符比较char,或者可以使用普通的Response Assertion来比较2个值,它将突出显示不匹配项,相关配置为如此简单:

enter image description here