簡體   English   中英

如何增加 UUID 加特林饋線

[英]How do I increment a UUID gatling feeder

我是 gatling 和 scala 的新手,所以這絕對是一個 n00b 問題,但我正在努力解決這個問題。 我發現這篇很棒的博客文章能夠使用 UUID 饋送器http://www.andrewgorton.uk/blog/gatling-uuid-feeder/

object UuidFeeder {
    val feeder = new Feeder[String] {
        override def hasNext = true

        override def next: Map[String, String] = {
            Map("uuid" -> UUID.randomUUID.toString());
        }
    }
}

這很好用,我的問題是當我將它放入循環時,我無法弄清楚如何獲得新值。

我像這樣使用它 -

val scn = scenario("Test Scenario")
  .feed(UuidFeeder.feeder)
    .exec(http("get stuff")
                .post("/stuff")
                .body(StringBody(
                """{
                   "uuid": "${uuid}",
                }""")).asJSON
                .check(status.is(201)))

如果我在后續測試中使用 ${uuid},它將是相同的值。 如何獲得下一次調用的新值?

我更喜歡使用Iterator.continually助手,而不是像這樣:

object UuidFeeder {
    val feeder = Iterator.continually(Map("uuid" -> java.util.UUID.randomUUID.toString()))
}

用法和以前一樣..希望它有幫助:)

// Usage
//
// scenario("My Scenario")
//      .feed(UuidFeeder.feeder)
//      .exec(http("MyCall"))
//    ...// rest of code

您的代碼對我來說看起來不錯,並且每次到達提要操作時都應該為每個虛擬用戶生成不同的 UUID。

我使用下面的代碼來生成隨機 UUID,這可能很有用。 我在 header 中使用過,它起作用了。

定義值

val uuidfeeder: Feeder[String] = Iterator.continually(Map("uuid" -> UUID.randomUUID().toString))

調用 val 到 post 響應

def postResponse(): ChainBuilder = {
repeat(repeatLoop) {
  feed(uuidfeeder)
  .feed(jsonFeeder)
    .exec(http("Post Response: ")
      .post(endPoint)
      .header("x-request-id", "${uuid}")
      .body(StringBody(
       """{  
      }""")
}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM