我在DummyRequest上使用了JSR223 PostProcessor脚本,该脚本应清除/更改变量的值,但不知何故不起作用。它由模块控制器调用,该模块控制器位于IF控制器之下,而IF控制器位于在测试执行期间每次都被调用的Transaction控制器之下。
以下是用于清除/更改变量值的脚本:
log.info("BEFORE -------------------------------------->" + "${listing_filters}");
vars.put("listing_filters", "");
//vars.remove("${listing_filters}"); //OLD ATTEMPT
log.info("AFTER --------------------------------------->" + "${listing_filters}");
我不知道为什么,但是脚本未更改变量。下面是控制台输出日志:
2019-04-24 09:55:27,693 INFO o.a.j.e.J.JSR223 PostProcessor - Cleaning Variables: BEFORE -------------------------------------->&size=1620&discount=0&size=1620
2019-04-24 09:55:27,693 INFO o.a.j.e.J.JSR223 PostProcessor - Cleaning Variables: AFTER --------------------------------------->&size=1620&discount=0&size=1620
我还尝试删除变量(通过在此PostProcessor脚本上使用vars.remove()),然后根据测试流程的要求在preProcessor脚本上再次创建该变量,但是似乎一旦删除它就无法重新创建。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
在JSR223中尝试以下2个选项:-
vars.put("listing_filters","Reset")
String x = vars.get("listing_filters");
if ( "completed".equals(x) ){
vars.remove("listing_filters");
}
希望这会有所帮助。