逻辑控制组件也有不少,但是用到的情况也不多,只打算举个While controller结合Regular Expression Extractor的例子
Condition,跳出循环的条件
如果放空,则出错了之后才会跳出循环,放LAST也一样,不过放LAST多一种情况是,上一个Sampler如果出错,则不进入循环
以下是这里可以放的参数的一些例子
- ${VAR} - where VAR is set to false by some other test element 参数True or False
- ${__javaScript(${C}==10)} Java Script,计算的时候需要用
- ${__javaScript("${VAR2}"=="abcd")} 字符串的比较时,需要将变量也用引号括起来
- ${_P(property)} - where property is set to "false" somewhere else
举例,测试网址为http://evening-citadel-2263.herokuapp.com/
第一页为http://evening-citadel-2263.herokuapp.com/1,第n页为http://evening-citadel-2263.herokuapp.com/n,依次类推
第一个请求,获得了next参数,然后用到第一个while循环中去
while循环的跳出条件用的是${__javaScript(${next}<7)},意思是我从第一页翻到第六页
第一个while循环结束后,又来一个单独的请求,获得prev这个参数,前一页,不过此时已经往前翻了一页,用的是next-2作为页码
第二个while循环的跳出条件为${__javaScript("${prev}"!="NOT FOUND")},如果有前一页就一直往前翻