如何从JMeter

时间:2015-06-02 07:16:15

标签: java jmeter jmeter-plugins

有没有办法(任何jmeter插件)我们可以让JMeter脚本从外部文本文件中读取所有内容(String)?

我在java中有一个实用程序,它使用Jackson ObjectMapper将arraylist转换为字符串并将其放入桌面文本文件中。该文件包含我需要在jmeter Post Body中发送的JSON信息。

我尝试使用$ {__ FileToString()},但它无法反序列化java.util.ArrayList的实例。它也没有正确阅读所有价值观。

我正在寻找像csv reader这样的东西,我只是给文件位置。我需要文件中存在的所有json信息。需要提取它并分配给帖子正文。

感谢您的帮助!!!

1 个答案:

答案 0 :(得分:0)

如果你的问题是关于如何在JMeter中反序列化ArrayList并动态构建请求体,你可以使用ie Beanshell PreProcessor

  1. 添加Beanshell预处理器作为您请求的子项
  2. 将以下代码放入预处理器"脚本"面积:

    FileInputStream in = new FileInputStream("/path/to/your/serialized/file.ser");
    ObjectInput oin = new ObjectInputStream(in);
    ArrayList list = (ArrayList) oin.readObject();
    oin.close();
    in.close();
    
    for (int i = 0; i < list.size(); i++) {
        sampler.addArgument("param" + i, list.get(i).toString());
    }
    
  3. 代码将文件读取为ArrayList,遍历它并添加请求参数,如:

    param1=foo
    param2=bar
    etc.
    

    这是我能够提供的最接近的答案,如果您需要更准确的建议 - 请详细说明您的问题。与此同时,我建议您熟悉How to use BeanShell: JMeter's favorite built-in component指南,了解JMeter中的脚本以及预定义的变量,如&#34; sampler&#34;在上面的代码片段中。