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

使用进纸器使gatling为每个请求生成随机数据

宇文金鑫
2023-03-14

我正试图让盖特林为每个POST请求创建随机数据。我关注了stackoverflow和其他地方的一些帖子。我想出了这个方案-

def randomUuid = UUID.randomUUID().toString
val feeder = Iterator.continually(Map("user" -> randomUuid))

def createPostRequest = {
  http("createuser")
    .post("http://jsonplaceholder.typicode.com/posts")
    .body(StringBody("${user}"))
    .check(status.is(201))
}

val scn = scenario("some load test")
  .feed(feeder)
  .forever(exec(createPostRequest))

setUp(scn.inject(atOnceUsers(1)))
  .maxDuration(20 minutes)

然而,当我运行这段代码时,它只调用我的feeder一次,以创建一个UUID,并在整个负载测试中重新使用相同的UUID。

在遵循这条线索之后,我创建了上面的代码。我用的是加特林2.2.5。这是我的sbt配置-

import sbt._

object Dependencies {
  private val gatlingHighcharts = "io.gatling.highcharts" % "gatling- 
  charts-highcharts" % "2.2.5"                    % "test"
  private val gatlingTest =       "io.gatling"            % "gatling-test-framework"    % gatlingHighcharts.revision % "test"

  val gatlingDependencies = Seq(gatlingHighcharts, gatlingTest)
}

共有2个答案

侯涵煦
2023-03-14

在你的设置中,你只创建一个用户——所以你的场景只执行一次,这意味着在你开始循环你的请求之前,“提要”只发生一次。

将您的场景更改为

val scn = scenario("some load test")
.feed(feeder)
.exec(createPostRequest)

并进行设置(用你想要的用户数替换100)

setUp(scn.inject(atOnceUsers(100)))
傅穆冉
2023-03-14

由于你不会在一个循环中调用feed,通常是你的foreverone,你实际上只会为每个虚拟用户生成一个值。如果希望每个循环迭代都有唯一的值,请将feed调用移动到循环内部。

 类似资料:
  • 我有一个文件,其中包含Json请求体。我想使用constantUsersPerSec(...)对每秒发送恒定数量请求的Web进行基准测试。 但是,每次发送请求时,我都希望从请求列表中获取请求(随机或循环,我不在乎)。 我不知道该怎么对付加特林。使用以下代码,请求被随机选择一次,同一请求被反复发送。这不是我想要的 我的代码:

  • **使用Gatling进行随机负载测试**我想测试我构建的API以获得更高的负载,因此,我必须生成大量随机电子邮件(我知道目前服务器上没有电子邮件检查,所以我只创建随机字符串)。我使用的工具是gatling-charts-highcharts-bundle-3.0.0,我查看了关于如何解决这个问题的其他问题和网页,并获得了使用feeders的信息。我尝试了下面的代码,但我不明白为什么总是会出现一个

  • 我正在为api编写负载测试,并希望创建一个提要器,该提要器生成随机值以注入POST请求的正文。我最初尝试从留档复制随机电子邮件示例并将其他字段添加到生成的映射中,但当这不起作用时,我进入了一个字段,基本上复制了留档;然而,即使这样也不起作用,出于某种原因。这里有很多解决方案也使用这种语法,但我正在做的一些事情导致我尝试注入正文的字段在请求发出时为空。 当前代码: 理想情况下,我希望能够扩展馈线,以

  • 我正在使用Gatling 3.3.1使用Gatling Kafka库在Kafka中注入数据。我试着用一个小的定制进料器来测试它。 但是它不起作用feed()需要一个FeederBuilder feeder是迭代器[Map[String,String]] 我不知道怎样才能解决这个问题。

  • 问题内容: 我需要生成一个随机数。 看来该功能已不复存在。 我的选择是, 和 。 我在函数上找不到任何文档,头文件中也没有注释。 问题答案: ===== Swift 4.2 / Xcode 10 ===== 斯威夫特在引擎盖下用来完成工作。 ===== Swift 4.1 / Xcode 9 ===== 返回 0* 到 4294967295之间 的随机数 * 返回 0.0* 到 1.0 范围内的随

  • 我试图在Java程序中实现一个随机数生成器。我在用数学。random(),但这似乎效果不太好。然后我尝试使用SecureRandom,但这对我的游戏来说太长了。然而,我遇到了这个生成器,MersenNetWisterng随机数生成器。这似乎是我想要的;速度很快,但仍然是随机的。 然而,我已经很长时间没有用Java编写了,只有2个月,我对API既不了解也不了解。如果有人能帮我解释一下如何在我的代码中