loops - Jmeter:为什么我的线程在一个循环完成后没有重新启动?
问题描述
我有以下测试计划 i Jmeter:
- 线程组
- 用户参数
- CSV 数据源
- 而控制器
- 一次唯一的控制器
- http采样器
- http采样器
- 正则表达式提取器(查找作为 while 循环中的条件的变量)
- 一次唯一的控制器
- 如果控制器
- Http 采样器
- 将响应保存到文件
- BeanShell 后处理器(清理使用的变量)
现在,我的问题是,当满足 If 控制器的条件时,在线程完成后,它会按预期循环。但是,如果不满足 If 控制器的条件,则线程完成后,运行停止,不会发生循环。
在线程组设置中,我有“Loop = 50”和“错误操作:开始下一个线程循环”
在系统的日志中,根本没有错误。
有任何想法吗?
解决方案
如果不满足条件,则不会执行 If Controller 的子级,并且您将不会在 jtl 结果文件中看到它们。
如果您在 If 控制器之后添加一个虚拟采样器,您将看到虚拟采样器将针对每个虚拟用户执行 50 次。
还有一些建议:
- 从 JMeter 3.1 开始,您应该使用 JSR223 测试元素和 Groovy 语言编写脚本
- 根据JMeter 范围规则,您的 BeanShell 后处理器将在每个采样器之后执行,我不知道它到底在做什么,但目前它正在每个采样器之后执行,因此可能是它正在清理您在 While 或如果控制器。
推荐阅读
- arrays - 单击 collectionView 转到另一个具有不同数组的 collectionView
- virtualenv - 如何从 Pyscripter 3.6.1 运行“venv”(使用 Python 3.7.4)
- python - 在通过 boto3 发送到 AWS Comprehend 之前如何按大小过滤文档?
- docker - 使用 Flyway 和 Spring Boot 在 docker testcontainers 环境中迁移模式
- c++ - 处理元组内的右值引用
- javascript - 简单的for循环,简单的数组,完全莫名其妙的输出
- azure - Kubernetes 上的天蓝色
- java - 如何在 Mac 上使用 JFileChooser 导航到外部驱动器
- c# - Selenium Webdriver C# 在 For Loop 陈旧元素引用中的下拉菜单
- azure-devops - 虚拟路径搞乱部署