【问题标题】:JMeter: How to send multiple unique json body?JMeter:如何发送多个唯一的 json 正文?
【发布时间】:2021-09-21 16:33:31
【问题描述】:

我已经编写了一个 REST API,现在我的要求是对其进行 1k 次调用或其他什么的负载测试。问题是请求 json 有一个独特的属性 - Cnumber 需要为每个请求更改。

json 请求:

{ "代码": "WEB", “Pfix”:空, “姓名”:“罗纳尔多”, “C号”:“C7” }

如何在每个请求中发生Cnumber 更改的同时针对 1K 用户发出此请求?

【问题讨论】:

  • @user7294900 我也可以在像 {"Cnumber": ${__Random(0000,9999)}} 这样的主体数据中使用它。请求正文是一个冗长的 json。
  • 查看 (how-to-generate-a-random-unique-mobile-number)[stackoverflow.com/questions/69106489/… 了解生成随机唯一号码的详细信息。
  • ${__Random(0000,9999)}}, 不得使用。它会生成一个随机数,但不是唯一数。

标签: rest post jmeter jmeter-plugins


【解决方案1】:

取决于你想要达到的目标:

  1. 可以使用__counter()函数生成递增数,例如:

    { "Code": "WEB", "Pfix": null, "Name": "Ronaldo", "Cnumber": "${__counter(FALSE,)}" }
    
  2. 可以使用__Random()函数生成随机数

    { "Code": "WEB", "Pfix": null, "Name": "Ronaldo", "Cnumber": "${__Random(1,2147483647,)}" }
    
  3. 可以使用__RandomString()函数生成随机字母数字字符串,例如:

    { "Code": "WEB", "Pfix": null, "Name": "Ronaldo", "Cnumber": "${__RandomString(2,abcdefjhijklmnopqrstuvwxyz0123456789,)}" }
    
  4. 当前线程号:__threadNum()函数

    { "Code": "WEB", "Pfix": null, "Name": "Ronaldo", "Cnumber": "${__threadNum}" }
    
  5. 类 GUID 结构:__UUID() 函数

    { "Code": "WEB", "Pfix": null, "Name": "Ronaldo", "Cnumber": "${__UUID}" }
    

更多关于 JMeter Functions 概念的信息:Apache JMeter Functions - An Introduction

【讨论】:

【解决方案2】:

您可以使用时间戳...

{ "Code": "WEB", "Pfix": null, "Name": "Ronaldo", "Cnumber": "C${__time}" }

Cnumber with timestamp example image

【讨论】:

  • 谢谢,这很有用,如果我们还想用新请求更改其他字段,比如不同的名称、电子邮件 ID 怎么办?必须在 csv 中配置它?
  • 可以将 RandomString 用于电子邮件,使用字母表中的任何字母设置为“10”长度...电子邮件示例 = ${__RandomString(10,abcdefghijklmnopqrstuvwxyz)}@gmail.com 输出示例 = aimcwyoshb @gmail.com
猜你喜欢
  • 2023-03-13
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
  • 2019-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
相关资源
最近更新 更多