Gatling 提供随机字符串的 ArrayList
Gatling feed an ArrayList of random strings
我有加特林脚本来发送包含 10,000 个电子邮件地址的 HTTP 请求,JSON 正文如下所示:
{
"userIds": [
"user1@paragonia.com",
"user2@bedlam.com",
"user3@blurrybus.com",
"user4@barkarama.com",
"user5@bullzone.com",
.
.
.
"user10000@miraclis.com"
]
}
因此,我生成了一个包含 10,000 个随机电子邮件地址的 ArrayList:
val emails = new util.ArrayList[String]
for(i <- 1 to 10000) {
emails.add("\"" + Random.alphanumeric.take(8).mkString.toLowerCase +
"@" + Random.alphanumeric.take(10).mkString.toLowerCase + ".com\"")
}
我需要将该 ArrayList 提供到我的场景中:
val scn = scenario("Add Users")
.exec(
http("AddUsers")
.post(path)
.header("Authorization", apiKey)
.body(StringBody("{" +
"\n\t\"userIds\": " +
userNames +
"\n\t\n" +
"}")).asJson
)
问题是在我的场景中向所有请求发送了同一个数组,我每次都需要生成不同的数组。
我想我需要将我的 ArrayList 转换为馈送器或迭代器,但我一直坚持下去。
加特林机能做到吗?
我找到了答案。
我创建了一个函数来构建随机电子邮件的 ArrayList:
def getEmailsArray(count: Integer): util.ArrayList[String] = {
val emails = new util.ArrayList[String]
for (i <- 1 to count) {
emails.add("\"" + Random.alphanumeric.take(8).mkString.toLowerCase +
"@" + Random.alphanumeric.take(10).mkString.toLowerCase + ".com\"")
}
emails
}
然后我将 ArrayList 放入进纸器中:
val emailsFeeder = Iterator.continually(Map("emails" -> getEmailsArray(totalEmails)))
我有加特林脚本来发送包含 10,000 个电子邮件地址的 HTTP 请求,JSON 正文如下所示:
{
"userIds": [
"user1@paragonia.com",
"user2@bedlam.com",
"user3@blurrybus.com",
"user4@barkarama.com",
"user5@bullzone.com",
.
.
.
"user10000@miraclis.com"
]
}
因此,我生成了一个包含 10,000 个随机电子邮件地址的 ArrayList:
val emails = new util.ArrayList[String]
for(i <- 1 to 10000) {
emails.add("\"" + Random.alphanumeric.take(8).mkString.toLowerCase +
"@" + Random.alphanumeric.take(10).mkString.toLowerCase + ".com\"")
}
我需要将该 ArrayList 提供到我的场景中:
val scn = scenario("Add Users")
.exec(
http("AddUsers")
.post(path)
.header("Authorization", apiKey)
.body(StringBody("{" +
"\n\t\"userIds\": " +
userNames +
"\n\t\n" +
"}")).asJson
)
问题是在我的场景中向所有请求发送了同一个数组,我每次都需要生成不同的数组。
我想我需要将我的 ArrayList 转换为馈送器或迭代器,但我一直坚持下去。
加特林机能做到吗?
我找到了答案。
我创建了一个函数来构建随机电子邮件的 ArrayList:
def getEmailsArray(count: Integer): util.ArrayList[String] = {
val emails = new util.ArrayList[String]
for (i <- 1 to count) {
emails.add("\"" + Random.alphanumeric.take(8).mkString.toLowerCase +
"@" + Random.alphanumeric.take(10).mkString.toLowerCase + ".com\"")
}
emails
}
然后我将 ArrayList 放入进纸器中:
val emailsFeeder = Iterator.continually(Map("emails" -> getEmailsArray(totalEmails)))