Gatling:在Session中向现有列表属性添加一个值

3
我是 Gatling,正在尝试将一个值添加到现有会话列表属性中。例如,假设当前会话具有以下列表属性。
List(1, 2, 3)
然后,在运行下面的代码之后,
  exec(
    http("Create_New_Lists")
    .post("/api/v1/lists/sync")
    .basicAuth("${email}", "test")
    .body(StringBody("""{ "productListDto":{"id":"0","active":"true","items":[],"name":"""" + listName + """"},"token":"" }""")).asJSON 
    .check(jsonPath("""$..id""").saveAs("value_to_be_appended"))
  )

我想把"value_to_be_appended"添加到列表中,这样列表将会是

List(1, 2, 3, 4) (如果value_to_be_appended是4)

我该怎么做?

非常感谢您的帮助!

1个回答

2

编写一个执行块,在其中操作会话,获取现有列表并替换:

.exec { session =>
   for {
     existingList <- session("existingList").validate[List[Int]]
     // the value you extracted is a String, not an Int
     value_to_be_appended <- session("value_to_be_appended").validate[String]
   } yield session.set("existingList", existingList ::: List(value_to_be_appended))
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接