Gatling-Scala:如何将循环输出合并(分组字符串)到字符串数组或向量数组

问题描述 投票:0回答:0

Gatling-Scala:如何将循环输出合并(分组字符串)到字符串数组或向量数组

  1. 我需要循环提供字符串输出的数组值
  2. 将所有检索到的字符串输出合并为一个数组
  3. 在下一个批量 api 请求中使用合并数组。

我的逻辑不对,请帮助我。

 var i = 0 // initialising i to 0 to increase the array index value in loop
.
.
...check(jsonPath("$.id").saveAs("ArrayValues"))
// saving this array to use in loop and at defining arraylength at last of the loop

//循环

    .foreach("#{ArrayValues}", "VValues") {
      exec(http("perftest values")
        .post("perftest")
        .body(StringBody(session =>
          s"""{
             |"id": "",
             |"perfTypeId": "00334-0000-0000-0345",
             |"legs":[{
             |      "valueTypeId": "111-220-3300-0444",
             |      "values": "${session("VValues").as[String]}"
             |    }]
             |     }""".stripMargin)).asJson
        .check(jsonPath("$.id").saveAs("perfvalue_singlevalue"))
        .check(status.is(201)))
        .exec(session => {
          val valuearraylen: Vector[String] = session("ArrayValues").as[Vector[String]]
          val perfvalue_array: Array[String] = new Array[String](valuearraylen.length)
          perfvalue_array(i) = session("perfvalue_singlevalue").as[String] 
// ERROR in above logic // saving value in updated array index
          i = i + 1. // moving to next array index
          session.set("string_collected_array", perfvalue_array)
        })

//将创建的数组值提供给下一个api请求

.exec(http("Bulk_perftest")
    .delete("/perf/bulk")
    .body(StringBody(session => s"""[ 
    "${session("string_collected_array").as[Vector[String]].mkString("\",\"")}"]"""))
    .check(status.is(204)))

//ERROR cannot pass the value - 错误 no attribute name defined "string_collected_array"

arrays scala performance-testing gatling scala-gatling
© www.soinside.com 2019 - 2024. All rights reserved.