Java 如何在Jmeter中准备json文件中的多行

Java 如何在Jmeter中准备json文件中的多行,java,json,jmeter,automated-tests,load-testing,Java,Json,Jmeter,Automated Tests,Load Testing,我是Jmeter新手,我在json文件中生成随机数据(比如n个请求) 这些是json文件中的请求 {“firstName”:“Colton”,“lastName”:“Alvarez”,“password”:“K42mC7UQ”,“email”:Robert2@test.COM“,”orgName“:”Alist“,”locationName“:”Stillwell Avenue“,”address1“:”Stillwell Avenue“,”address2“,”11 Stillwell Ave

我是Jmeter新手,我在json文件中生成随机数据(比如n个请求)

这些是json文件中的请求
{“firstName”:“Colton”,“lastName”:“Alvarez”,“password”:“K42mC7UQ”,“email”:Robert2@test.COM“,”orgName“:”Alist“,”locationName“:”Stillwell Avenue“,”address1“:”Stillwell Avenue“,”address2“,”11 Stillwell Avenue“,”城市“,”旧金山“,”州“,”南达科他州“,”国家“,”美国“,”邮政编码“:”12901“,”orgEmail“:”Gavin@test.COM“}

{“firstName”:“Stella”,“lastName”:“barrela”,“password”:“buivwwaw”,“email”:Alex3@test.COM“,”orgName“:”快速咨询“,”地点名称“:”Cove Lane“,”地址1“:”Cove Lane“,”地址2“:”8Cove Lane“,”城市“:”迈阿密“,”州“:”北卡罗来纳州“,”国家“:”美国“,”邮政编码“:”26257“,”orgEmail“:”Anthony@test.COM“}

{“firstName”:“Violet”,“lastName”:“Trujillo”,“password”:“O5belqdN”,“email”:London1@test.COM“,”组织名称“:”Buapel Limited“,”地点名称“:”福特街“,”地址1“:”福特街“,”地址2“,”21福特街“,”城市“,”迈阿密“,”州“,”加利福尼亚“,”国家“:”美国“,”邮政编码“:”72159“,”组织电子邮件“:”Thomas@test.COM“}

{“firstName”:“Aubrey”,“lastName”:“Tyler”,“password”:“Qj32XyDE”,“email”:Julian4@test.COM“,”组织名称“:”Yrsa Associates“,”地点名称“:”Summer Place“,”地址1“:”Summer Place“,”地址2“:”9 Summer Place“,”城市“:”纽约“,”州“:”马里兰州“,”国家“:”美国“,”邮政编码“:”19250“,”组织电子邮件“:”Cooper@test.COM“}

{“firstName”:“Emily”,“lastName”:“Gilliam”,“password”:“tnkqqfx”,“email”:London5@test.COM“,”orgName“:”Alist“,”locationName“:”华盛顿大道“,”地址1“,”华盛顿大道“,”地址2“,”19华盛顿大道“,”城市“,”纽约“,”州“,”马萨诸塞“,”国家“,”美国“,”邮政编码“:”90694“,”orgEmail“:”Tristan@test.COM“}

现在,我希望jmeter将此数据作为请求主体,以命中n个线程

问题是,当我将单个请求的数据放在json文件中时,它会读取数据并给我成功。但当多行数据放入json时,它会尝试将整个数据放入请求中。
但是,我希望jmeter为每个不同的请求逐个从json中选择数据

很可能是因为将整个文件读入请求正文,如果您在文件的新行上有一个单独的JSON正文负载,那么您可能希望使用它,它在每次调用时从给定文件中读取下一行

此外,如果数据确实是“随机”的,您甚至可以继续使用单个测试数据“占位符”,例如,将其更改为:

{
  "firstName": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(6),)}",
  "lastName": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(10),)}",
  "password": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric(8),)}",
  "email": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(6),)}@test.COM",
  "orgName": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(6),)}",
  "locationName": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(20),)}",
  "address1": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(20),)}",
  "address2": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(20),)}",
  "city": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(10),)}",
  "state": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(10),)}",
  "country": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(8),)}",
  "zipCode": "${__groovy(orgorg.apache.commons.lang3.RandomStringUtils.randomNumeric(5),)}",
  "orgEmail": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(6),)}@test.COM"
}
比如:


这样,您将在每个请求上获得随机值

不确定jmeter,但您发布的数据不是正确的json格式,更新了json数组的正确格式。尝试使用这是正确的格式它包含多记录请求而不是请求数组示例req线程1{“firstName”:“Colton”,“lastName”:“Alvarez”,“password”:“K42mC7UQ”,“email”:Robert2@test.COM“,”组织名称“:”列表“,”地点名称“:”斯蒂尔韦尔大道“,”地址1“:”斯蒂尔韦尔大道“,”地址2“:”11斯蒂尔韦尔大道“,”城市“:“旧金山”,“州”:“南达科他州”,“国家”:“美国”,“zipCode”:“12901”,“orgEmail”:”Gavin@test.COM}req线程2{“firstName”:“Stella”,“lastName”:“Barrera”,“password”:“buivwwaw”,“email”:Alex3@test.COM" ..................}。但是您将其存储在.json文件中。如果您将其存储在json文件中并从中读取,则该数据将不会解析为json。因此,如果我将其存储在txt中,jmeter是否会将其作为json请求逐个选取?我也尝试使用txt,问题是相同的
${__eval(${__FileToString(test.json,,)})}