如何在 Gatling 中为相同的变量名提供随机数
How to feed random numbers for the same variable names in Gatling
如果你有一个 JSON,它有一个客户数组,其中每个客户都必须有一个唯一的客户编号,我如何用随机数来填充它:
{
"customers": [
{
"customerNo": "123",
"Name": "Joe"
},
{
"customerNo": "456"
"Name": "Jane"
},
]
}
我认为这可能有效:
{
"customers": [
{
"customerNo": "${customerNo}",
"Name": "Joe"
},
{
"customerNo": "${customerNo}"
"Name": "Jane"
},
]
}
val customerNumber = Iterator.continually(
Map("customerNumber" -> Random.nextInt(Integer.MAX_VALUE))
)
然后添加:
feed(customerNumber)
但这两种情况都使用相同的生成数字。
最干净的方法是传递一个函数,例如 Java:
StringBody(session ->
"""
{
"customers": [
{
"customerNo": "%s",
"Name": "Joe"
},
{
"customerNo": "%s"
"Name": "Jane"
},
]
}""".formatted(Random.nextInt(Integer.MAX_VALUE), Random.nextInt(Integer.MAX_VALUE))
)
如果你有一个 JSON,它有一个客户数组,其中每个客户都必须有一个唯一的客户编号,我如何用随机数来填充它:
{
"customers": [
{
"customerNo": "123",
"Name": "Joe"
},
{
"customerNo": "456"
"Name": "Jane"
},
]
}
我认为这可能有效:
{
"customers": [
{
"customerNo": "${customerNo}",
"Name": "Joe"
},
{
"customerNo": "${customerNo}"
"Name": "Jane"
},
]
}
val customerNumber = Iterator.continually(
Map("customerNumber" -> Random.nextInt(Integer.MAX_VALUE))
)
然后添加:
feed(customerNumber)
但这两种情况都使用相同的生成数字。
最干净的方法是传递一个函数,例如 Java:
StringBody(session ->
"""
{
"customers": [
{
"customerNo": "%s",
"Name": "Joe"
},
{
"customerNo": "%s"
"Name": "Jane"
},
]
}""".formatted(Random.nextInt(Integer.MAX_VALUE), Random.nextInt(Integer.MAX_VALUE))
)