Jmeter:为什么我的线程在循环完成后不重新启动?



我有以下Jmeter测试计划:

  • 线程组
    • 用户参数
    • Csv数据源
    • While控制器
      • 一次性控制器
        • http采样器
      • http采样器
        • RegEx提取器(查找while循环中的条件变量(
    • 如果控制器
      • Http采样器
      • 将响应保存到文件
    • BeanShell后处理器(清理已使用的变量(

现在,我的问题是,当满足If控制器的条件时,在线程完成后,它会按预期循环。但是,当If控制器的条件不满足时,线程完成后,运行将停止,并且不会发生循环。

在线程组设置中,我有"循环=50"one_answers"错误操作:启动下一个线程循环">

在系统日志中,没有任何错误。

有什么想法吗?

如果不满足条件,则不会执行If Controller的子级,并且您将不会在jtl结果文件中看到它们。

如果在If Controller之后添加虚拟采样器,则每个虚拟用户将执行虚拟采样器50次。

更多建议:

  1. 由于JMeter 3.1,您应该使用JSR223测试元素和Groovy语言进行脚本编写
  2. 根据JMeter Scoping规则,您的BeanShell后处理器将在每个采样器之后执行,我不知道它到底在做什么,但目前它在每个采样器后执行,所以可能是在清理您在While或If Controller中使用的变量

最新更新