我创建了一个包含 200 条数据的 CSV 文件。在执行并发请求时(即启动周期 0 秒),我希望请求以与文件中相同的顺序执行,因为来自当前 API 响应数据的 ID 必须按顺序使用另一个 API 的请求正文。
我的帖子组中的详细信息:
线程数(用户)- 200
加速期 - 0
循环计数 - 1
我希望按顺序读取 csv 文件中的数据,即 row1、row2、row3...等等
您的要求是相互排斥的,因为您希望同时并发和顺序执行。
实际上线程正在顺序读取数据,您看到“随机性”的原因是由于您的应用程序响应时间分布,如果应用程序响应时间为 1 毫秒 - 读取测试数据的过程将是顺序的。
一般来说,它不应该产生任何影响,因为根据文档
JMeter Variables are local to a thread
,所以如果你有2个采样器,每个线程将首先执行顶部的采样器,然后执行底部的采样器以及所有上下文(变量、cookies、缓存等)将保留。
无论如何,如果尽管有上述几点,您仍然在寻找一种通过多个并发线程顺序读取数据的方法,您将不得不切换到 __CSVRead() 函数,例如:
${__CSVRead(test.csv,0)} ${__CSVRead(test.csv,next)}
演示:
更多信息(和另一个功能):如何在 JMeter 运行时选择不同的 CSV 文件
有人可以帮助我在 HTTP 请求采样器中在何处以及如何使用 ${__CSVRead(test.csv,0)} ${__CSVRead(test.csv,next)}
多个并发线程顺序读取数据?