1

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

场景:

  1. 加载 JSON 文件。例如,{"name":"John","age":"$age_place"}
  2. 修改一个属性 - age_place 从 1 到 20
  3. 将每个修改后的迭代保存到单独的文件中

我曾尝试使用简单数据编写器来做到这一点,但没有奏效。

4

2 回答 2

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

参考:

于 2017-10-23T07:41:12.217 回答
1

你有 JSR223 Elements 作为采样器或预处理器,你可以添加强大的脚本,

最简单的方法是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();
于 2017-10-23T05:44:42.707 回答