我想将我的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)
答案 0 :(得分:0)
也许是由于non-printable character造成的,例如多余的空格或换行符或其他语言环境的字符,例如a
和а
是不同的野兽。
您可以尝试将字符串转换为char arrays并逐个字符比较char,或者可以使用普通的Response Assertion来比较2个值,它将突出显示不匹配项,相关配置为如此简单: