当前位置: 首页 > 知识库问答 >
问题:

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

岳凯康
2023-03-14

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

以下是json文件{“firstName”:“Colton”,“lastName”:”Alvarez“,“password”:“K42mC7UQ”,“email”:“Robert2@test.COM“,“orgName”:“Alist”,“locationName”:“Stillwell Avenue”,“address1”:“Stilwell Aveen”,“address2”:“11StillwellAveen”,“city”:“旧金山”,“state”:“South Dakota”,“country”:“United States”,“zipCode”:“12901”,“orgEmail”:”Gavin@test.COM“}

< code>{"firstName":"Stella "," lastName":"Barrera "," password":"BUiVwvAw "," email":"Alex3@test。COM "," orgName ":" quickers Consulting "," locationName":"Cove Lane "," address1":"Cove Lane "," address2":"8Cove Lane "," city":"Miami "," state":"North Carolina "," country":"United States "," zipCode":"26257 "," orgEmail":"Anthony@test "。COM"}

{“名字”:“紫罗兰”,“姓氏”:“特鲁希略”,“密码”:“O5belqdN”,“电子邮件”:“London1@test.COM”,“组织名称”:“Buapel Limited”,“locationName”:“福特街”,“地址1”:“福特街”,“地址2”:“21Ford Street”,“城市”:“迈阿密”,“州”:“加利福尼亚州”,“国家”:“美国”,“zipCode”:“72159”,“orgEmail”:“Thomas@test.COM”}

{“firstName”:“Aubrey”,“lastName”:”Tyler“,”password“:”Qj32XyDE“,”email“:”Julian4@test.COM“,”orgName“:”Yrsa Associates“,”locationName“:“夏令时”,”address1“:”夏令时“,”address 2“:”9Summer Place“,”city“:”New York“,”state“:”Maryland“,”country“:”United States“,”zipCode“:“19250”,”orgEmail“:”Cooper@test.COM“}

{“firstName”:“Emily”,“lastName”:”Gilliam“,“password”:“TNKqqqfX”,“email”:“London5@test.COM“,”orgName“:”Alist“,”locationName“:“华盛顿步行”,”address1“:”Washington Walk“,”address 2“:”19华盛顿步行“,”城市“:”纽约“,”州“:”马萨诸塞州“,”国家“:”美国“,”邮政编码“:”90694“,”orgEmail“:”Tristan@test.COM“}

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

共有1个答案

徐兴昌
2023-03-14

很可能是因为__FileToString()函数将整个文件读入请求体,如果在文件中的新行上有一个单独的JSON body有效负载,您可能希望使用__StringFromFile()函数,它在每次被调用时从给定文件中读取下一行。

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

{
  "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"
}

并将__FileToString()函数包装到__eval()函数中,如下所示:

${__eval(${__FileToString(test.json,,)})}

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

 类似资料:
  • 问题内容: 我在JMeter中将CSV格式用于数据文件。我们的副总裁希望将格式更改为JSON。如何从磁盘读取JSON文件? 问题答案: 您至少有2个选择: 使用HTTP请求采样器和协议,例如: JSON文件基本上是纯文本文件,因此您将能够使用JSON提取器或JSON路径提取器来解析JSON数据并将结果存储到JMeter变量中,以供以后重用 参考文献: 使用JSR223测试元素和Groovy语言。G

  • 我正在使用JMeter运行API负载测试。其中我使用一个CSV文件来传递数据。 应用程序接口: CSV(共赢): CSV 文件 : 问题:JMeter 总是选择具有 isexternal = true 的行,并跳过所有具有 isexternal 作为 false 的行。这是我面临的奇怪行为。任何人都可以解释一下背后的原因吗?

  • 我正在使用jeter分布式环境并在多台从机上分配负载。我正在运行 中,图表仅显示一个从机线程数,而不是x轴上的组合线程数。 例如,如果我的从机1和从机2各运行10个线程,但生成的图表显示X轴上有10个活动线程,但应该是20个。

  • 我想在jmeter脚本中使用2个csv文件。一个包含应用程序URL、用户名和密码信息的文件。第二个csv有我测试的输入数据。 URL.csv包含应用程序URL数据(这可能是整个测试的1个URL)data . CSV包含id、名称等 我能够使用单个csv文件运行我的测试,但要求是使用单独的csv文件来配置元素,如URL,用户名,密码等,并将单独的csv文件用于测试的输入数据。请帮忙

  • 我在准备好的语句中使用了命令,当我在单线程环境中执行它时,它的工作很好,但是在多线程环境中,它会引起一些问题,那就是数据重复,即如果我有5个线程,每个记录会重复5次,我认为db中没有锁来帮助线程。我的代码: 如果employee.size=5,thread count=5,执行后我将得到25条记录,而不是5条

  • 问题内容: 我努力了: 找到错误消息: 另外,我尝试使用并得到了相同的错误消息,甚至使用beanshell脚本也是如此: 问题答案: 尝试以下方法: 将Beanshell Sampler添加到您的测试计划 将以下代码放入采样器的“脚本”区域: 将调试采样器和查看结果树侦听器添加到您的测试计划 运行测试 确保Beanshell Sampler为绿色并且已设置变量。如果不是,请查看 jmeter.lo