【发布时间】:2018-08-22 06:14:00
【问题描述】:
我在 HTTP 请求中添加了一个 beanshell 断言,如果我运行循环计数值为 1 的脚本,通过在 CSV 文件中添加 1 个值,断言返回正确的结果,但如果我将循环计数更改为大于 1例如:4 并运行脚本,通过在 CSV 文件中添加 4 个值(第一个循环通过从 csv 文件中选择第一个值来运行测试,第二个循环选择第二个值等等)我看到与断言不一致的结果。
例如:如果断言将值正确显示为“未检查”,则使用 1 个循环,如果我通过将第一个值移动到第 4 行向 csv 文件添加 3 个值来运行测试,则断言显示第 4 行与第 3 行的值相同(尽管第 4 行的值应该与第 3 行的值不同)。
这是我正在使用的 Beanshell 断言:
String Response1 = prev.getResponseDataAsString();
String Response2 = prev.getResponseDataAsString();
String Response3 = prev.getResponseDataAsString();
if(Response1.contains("${accInst}") && Response2.contains("${otherInst}") && Response3.contains("${accInstAvailableNotChecked}")){
Failure=false;
log.info("In Case ID: ${id}, Account Instructions Available is Not Checked");
}
else if(!Response1.contains("${accInst}") || !Response2.contains("${otherInst}") && Response3.contains("${accInstAvailableChecked}")){
Failure=false;
log.info("In Case ID: ${id}, Account Instructions Available is Checked");
}
else{
Failure=true;
FailureMessage="Account Instructions Available is not set correctly in the case.";
log.error("Bean Shell Assertion is FAIL");
}
【问题讨论】: