我如何用输入和输出结果编写jmeter映射测试用例场景输入是csv文件输出也应该是csv文件

我如何用输入和输出结果编写jmeter映射测试用例场景输入是csv文件输出也应该是csv文件,jmeter,Jmeter,我需要将我的测试用例映射到csv文件中的输入数据,并将其与rest响应进行比较,然后生成一个response csv文件和Jmeter中的相应测试场景。 因此,我提供deviceID作为输入,验证json响应并将其写入csv文件。对于单个事件,我可以获得值,也可以在响应csv文件中标记我的测试用例。但是当我尝试使用多个测试用例的多个输入时,我的响应返回了最后一个值。比如: 4月16日下午飓风事件无票验证县ETR可用 假设我的输入是: 测试用例设备ID执行 验证活动事件40122480是否为“是”

我需要将我的测试用例映射到csv文件中的输入数据,并将其与rest响应进行比较,然后生成一个response csv文件和Jmeter中的相应测试场景。 因此,我提供deviceID作为输入,验证json响应并将其写入csv文件。对于单个事件,我可以获得值,也可以在响应csv文件中标记我的测试用例。但是当我尝试使用多个测试用例的多个输入时,我的响应返回了最后一个值。比如: 4月16日下午飓风事件无票验证县ETR可用

假设我的输入是: 测试用例设备ID执行 验证活动事件40122480是否为“是” 验证是否存在有效的设备ID 277136436是 验证城市ETR是否可用,无票证268698851 验证县ETR是否可用,无票证18515907

bean外壳代码是:

scenario = vars.get("ScenarioName");
eventname = vars.get("C_EventName");
eventtype = vars.get("C_EventType");
areaName = vars.get("C_AreaName");
areaType = vars.get("C_AreaType");

f = new FileOutputStream("C:\\RestService\\Result.csv", true); //specify true if you want to overwrite file. Keep blank otherwise.
p = new Print`enter code here`Stream(f); 
this.interpreter.setOut(p); 
print( scenario + ", " + eventname  + ", " + eventtype + ", " + areaName + ", " + areaType);
f.close();
我已将线程数增加到4,但循环计数为1


你能帮帮我吗。在本期JMeter中

我不建议采用基于Beanshell的方法,因为如果有多个线程(虚拟用户)将写入同一个文件,那么结果将是不可预测的,并且很可能是错误的,因为您正在创建该文件

最好的选择是直接将变量添加到.jtl结果文件中。为此:

  • 将下一行添加到user.properties文件(位于JMeter安装的“bin”文件夹中)

    sample_variables=ScenarioName,C_EventName,C_EventType,C_AreaName,C_AreaType
    
  • 重新启动JMeter以获取更改
  • 下次你喜欢的时候:

    生成的.jtl文件将有5个额外的列,用于保存每个请求的上述变量的值

  • 参考资料:

    可能的副本
    jmeter -n -t test.jmx -l result.jtl