如何在StringBody()中给出随机字符串?

时间:2017-07-24 10:44:22

标签: scala performance-testing gatling

我是加特林工具的新手。

我想在let keychain: KeychainSwift! = KeychainSwift() keychain.set("<my_password>", forKey: "passref") 方法中给出一个随机字符串。 例如,对于100个请求,将传递100个不同的字符串。

以下是我的示例代码:

StringBody()

但是CSV文件中的所有字符串都会被传递。

我的代码有什么问题? 我该如何解决?

1 个答案:

答案 0 :(得分:2)

我会这样做:

import scala.util.Random

    var randomString = Iterator.continually(Map("randstring" -> ( Random.alphanumeric.take(35).mkString )))// length of the random string is 35 chars here

    val scn = scenario("load test")
        .feed(randomString)
        .exec(http("request")
        .post("http://localhost:5000/sample")
        .body(StringBody("""{"inputData": ${randstring} }""")).asJSON
      setUp(
        scn.inject(
          constantUsersPerSec(50)
          during (10 seconds) randomized).protocols(httpConf))
    }

同样在您的代码更改中:.body(StringBody(s"""{"inputData": ${csvFeeder} }""")).asJSON.body(StringBody("""{"inputData": ${csv_header_coloumn_name} }""")).asJSON // csv_header_coloumn_name&gt;是要替换的csv文件中的字段。