JMETER 嵌套 while 循环在 CSV 数据文件的第一行停止
Posted
技术标签:
【中文标题】JMETER 嵌套 while 循环在 CSV 数据文件的第一行停止【英文标题】:JMETER nested while loop is stopping at first line of the CSV data file 【发布时间】:2020-12-17 03:37:40 【问题描述】:我必须对存储在 CSV 中的 ID 进行 GET 调用,而我必须重试 GET 调用,直到它返回 200 响应代码。 这就是我目前的结构。..
获取线程组
只有一次控制器为每个线程获取身份验证
使用条件 "$__javascript("$index"!="")" 的控制器检查 CSV 的结尾 文件
CSV 数据配置文件(每个文件对每个线程都是唯一的),变量名称为“index”,循环使用 EOF - 假,在 EOF 上停止线程 - 真, 共享模式 - 当前线程
While Controller 条件为 "$__javaScript(parseInt(vars.get("Response_code"))!=201)"
用户定义的变量 - Response_code
Http GET 请求
JSR233 后处理器 - "vars.put("Response_code",prev.getResponseCode());"
JSR223 后处理器 - 将成功调用返回的 ID 写入另一个 CSV 文件
现在我没有收到错误或任何东西.. 但我期待第一个 while 控制器循环遍历每个 id 的 CSV 文件,然后为每个 id 发出 GET 请求,然后第二个 while 循环将等待成功代码,但对于一些原因,GET 调用仅对 csv 中的第一个条目执行,然后退出它。我在这里错过了什么?
【问题讨论】:
【参考方案1】:CSV 数据配置文件(每个文件对于每个线程都是唯一的)
这不是它的工作方式,CSV 数据集配置被初始化一次,文件名在其execution 时解析,它不会为每个文件加载新的 CSV 文件虚拟用户。
如果您正在寻找在运行时动态提供 CSV 文件名的选项 - 请考虑切换到 __CSVRead() function。更多详情请参阅How to Pick Different CSV Files at JMeter Runtime 文章。
【讨论】:
以上是关于JMETER 嵌套 while 循环在 CSV 数据文件的第一行停止的主要内容,如果未能解决你的问题,请参考以下文章