我创建了2个BeanShell函数myFoo1和myFoo2。
第一个函数必须在特定条件下执行,第二个函数应在不同条件下执行
问题在于我的JSR223Post处理器或BeanPost处理器
String code = ctx.getPreviousResult().getResponseCode();
if (code.contains("200") && (vars.get("abc1") != "Howdee")) {
${__BeanShell(myFoo1("print this"))}
}
else {
${__BeanShell(myFoo2("print this"))}
}
问题是在if / else评估之前调用beanShell函数myFoo1和myFoo2。
换句话说,myFoo1和myFoo2都被一个接一个地调用,并且如果/否则永远不会起作用,因此看起来在执行任何求值之前就执行了Bean函数调用。 我该如何解决?
答案 0 :(得分:0)
从脚本中删除${__BeanShell(
,然后直接以myFoo2("print this)
的形式调用它:
String code = ctx.getPreviousResult().getResponseCode();
if (code.contains("200") && (vars.get("abc1") != "Howdee")) {
myFoo1("print this);
}
else {
myFoo2("print this);
}