我有以下Jmeter测试计划:
- 线程组
- 用户参数
- Csv数据源
- While控制器
- 一次性控制器
- http采样器
- http采样器
- RegEx提取器(查找while循环中的条件变量(
- 一次性控制器
- 如果控制器
- Http采样器
- 将响应保存到文件
- BeanShell后处理器(清理已使用的变量(
现在,我的问题是,当满足If控制器的条件时,在线程完成后,它会按预期循环。但是,当If控制器的条件不满足时,线程完成后,运行将停止,并且不会发生循环。
在线程组设置中,我有"循环=50"one_answers"错误操作:启动下一个线程循环">
在系统日志中,没有任何错误。
有什么想法吗?
如果不满足条件,则不会执行If Controller的子级,并且您将不会在jtl结果文件中看到它们。
如果在If Controller之后添加虚拟采样器,则每个虚拟用户将执行虚拟采样器50次。
更多建议:
- 由于JMeter 3.1,您应该使用JSR223测试元素和Groovy语言进行脚本编写
- 根据JMeter Scoping规则,您的BeanShell后处理器将在每个采样器之后执行,我不知道它到底在做什么,但目前它在每个采样器后执行,所以可能是在清理您在While或If Controller中使用的变量