【问题标题】:How to send different param and value randomly to request in Jmeter如何在 Jmeter 中随机发送不同的参数和值来请求
【发布时间】:2020-05-18 10:53:14
【问题描述】:

我有 5 个 API,它们使用不同形式的 id,例如 Uid、SidDid 。 每个请求都需要这三个中的任何一个。 Uid、SidDid 列表存储在单独的 CSV 文件中。 我的 req 样本看起来像

http://Host:port/Users?me=checkUser&Uid=U_User1
http://Host:port/Users?me=checkUser&Sid=S_12
http://Host:port/Users?me=checkUser&Did=D_90101

http://Host:port/AddrUsers?me=checkUser&Uid=U_User1
http://Host:port/AddrUsers?me=checkUser&Sid=S_12
http://Host:port/AddrUsers?me=checkUser&Did=D_90101

从 CSV 中随机提取 Uid、Sid 和 Did 是可行的,但预期是

http://Host:port/Users?me=checkUser&Uid=${UID} or Sid=${SID} or Did=${DID} 
http://Host:port/AddrUsers?me=checkUser&Uid=${UID} or Sid=${SID} or Did=${DID}

因此,在不为每个 API 创建三个集合的情况下,我想将参数名称和 ID 传递给单个请求 [忽略 OR 只是为了区分参数。每个请求将只有一个来自 Uid、Sid、Did 的 Id]

我知道通过 http 请求 参数部分中的 Uid = ${UID} 使用 CSV 值

现在我正在使用 3 个 cvs 和 3 个版本的相同 API 来调用具有 Uids、Sids 和 Dids 的请求

但是是否有可能拥有一个包含所有 ID(ID 混合)的 CSV 并将这些值随机发送到每个请求?

【问题讨论】:

  • 您可以尝试使用bzm-Random Data Set Config。这提供了以随机记录顺序从 CSV 文件参数化您的测试计划的能力。
  • @raj Okay.. 我们可以从 CVS 中随机获取值,但是,如何通过请求随机更改参数名称而不是三次调用它们?

标签: jmeter jmeter-5.0 parameterization


【解决方案1】:

所以你应该创建你的 bzm-Random CSV 集,如:

ID,Value //CSV header
UID,UidValue1
SID,SidValue1
DID,DidValue1
UID,UidValue2
SID,SidValue2
DID,DidValue3 and so on...

在 bzm-Random 集合下检查 “随机顺序”和“第一行是 CSV 标题”

现在你的 URL 会是这样的:

http://Host:port/Users?me=checkUser&${ID}=${Value}

这样您就可以使用单个请求来迭代值。

【讨论】:

  • 好伙伴。我会试试这个.. TIA
猜你喜欢
  • 2019-10-06
  • 2018-05-27
  • 1970-01-01
  • 2018-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多