如何使用JMeter复制文件

时间:2017-10-22 14:31:32

标签: jmeter jmeter-plugins jmeter-3.2

我正在尝试使用JMeter复制文件,

情景:

  1. 加载JSON文件。例如,{" name":" John"," age":" $ age_place"}
  2. 将一个属性 - age_place从1修改为20
  3. 将每个修改后的迭代保存到单独的文件中
  4. 我曾试图用Simple Data Writer做到这一点,但它没有用。

2 个答案:

答案 0 :(得分:1)

您有JSR223元素作为Sampler或预处理器,您可以添加强大的脚本,

最简单的方法是将age_place替换为您的值,例如,如果保存在变量age_place中:

f = new FileOutputStream("c:\\temp\\template.json", false);
p = new PrintStream(f); 
this.interpreter.setOut(p); 
print("{\"name\":\"John\",\"age\":\"age_place\"}".replaceAll("age_place", vars.get("age_place")));
f.close();

答案 1 :(得分:1)

如果您需要生成20个不同年龄的文件,可以使用JSR223 Test Elements中的任何一个来完成。示例Groovy代码如下所示:

def json = new groovy.json.JsonSlurper().parseText("{\"name\":\"John\",\"age\":\"\"}")
def builder = new groovy.json.JsonBuilder(json)
1.upto(20, {
    builder.content.age= "${it}"
    def writer = new File('file' + "${it}" + ".json").newWriter()
    writer << builder.toPrettyString()
    writer.close()
})

执行测试后,它将在JMeter安装的“bin”文件夹中创建以下文件:

  • file1.json - 年龄为1
  • file2.json - 年龄为2
  • ...
  • file20.json - 年龄为20

参考文献: