在Web应用程序中:
单页有不同的部分/分区 每个部分都使用筛选查询帮助检索数据。
如果没有匹配的结果,部分将仅发送以下请求: 请求1:域/搜索/ jobs / csuser__search2_1413357426.1559
如果查询返回任何匹配的结果,部分将发送以下两个请求: 请求1:域/搜索/ jobs / csuser__search2_1413357426.1559 请求2:域/搜索/工作/ csuser__search2_1413357426.1559 / results_preview
如何管理请求2,每次运行可能会或可能不会发生。
目前我手动录制整个网络电话,删除不必要的电话和电话。为' N' 循环计数运行它。如果任何部分具有匹配结果,我怎样才能确保测试运行请求2 还应该注意我在第一次执行时可能没有记录。
答案 0 :(得分:0)
您可以使用Beanshell PostProcessor和If Controller的组合来解决此问题:
将以下代码放入PostProcessor的“脚本”区域:
int length = prev.getSubResults().length;
if (length > 1) {
String path = prev.getSubResults()[length - 1].getURL().getPath();
if (path.contains("results_preview")) {
vars.put("resultPresent", "true");
}
} else {
vars.put("resultPresent", "false");
}
在请求后添加一个If Controller
${resultPresent}==true
- 如果查询返回结果,将执行子项${resultPresent}==false
- 如果查询未返回任何匹配的内容,则会执行子项Beanshell代码执行以下操作:
resultPresent
的值设置为“true”resultPresent
变量为false 参考文献:
答案 1 :(得分:0)
正如迪米特里所说。处理器应该在(后)请求后运行1.然后if控制器将根据处理器的结果进行操作。第二部分仅在条件不是“假”时运行。