Scala中的随机数字符串

时间:2018-04-05 13:46:54

标签: scala gatling scala-gatling

val scn = scenario("newUser")
    .exec(http("request_0")
        .get("/wordpress/?page_id=83")
        .headers(headers_0))
    .pause(1)
    .exec(http("request_1")
        .post("/wordpress/?page_id=83")
        .headers(headers_1)
        .body(RawFileBody("new_user_request_0001.txt")))

setUp(scn.inject(atOnceUsers(100))).protocols(httpProtocol)

我的问题如下......我必须使用0到100之间的数字随机加载100个文本文件,其结构与示例中的结构(“new_user_request_0001.txt”)相同。我能怎么做?谢谢大家

2 个答案:

答案 0 :(得分:0)

这很容易。您可以使用Random.shuffle

'utf8' codec can't decode byte 0xe4 in position 4: invalid continuation byte

答案 1 :(得分:0)

您可以尝试使用uniformRandomSwitch,生成100 ChainBuilders的序列,然后使用(...): _*语法将其解压缩为vararg方法的参数:

val scn = scenario("newUser")
    .exec(http("request_0")
        .get("/wordpress/?page_id=83")
        .headers(headers_0))
    .pause(1)
    .uniformRandomSwitch(
        ((0 until 100).map{ idx =>
          http("request_1")
          .post("/wordpress/?page_id=83")
          .headers(headers_1)
          .body(RawFileBody(s"new_user_request_0${idx}.txt")))
        }): _*
    )

s" ... ${idx} ..."语法将idx传递的map参数注入字符串。