Gatling pass feeder作为对象的参数

时间:2017-01-19 15:57:51

标签: scala load-testing gatling

我有一个Gatling脚本,其中包含很少用于测试的对象。其中一个对象用于验证用户,并使用馈送器传递用户进行测试。现在,在仿真类的开头,馈线定义在顶部,如下所示:

val feeder = csv("users.csv").circular

进纸器提供成对的用户名和密码。该对象看起来像:

object Auth {
    val login = {
        feed(feeder)
        .exec(http("get_auth_token")
             .post("/get_auth_token")
             .body(StringBody("""{
                                 "username": "${username}",
                                 "password": "${password}"
                              }""")).asJSON
            // this check extracts accessToken from JSON received in response
            .check(
             status.find.in(200,304,201,202,203,204,205,206,207,208,209),
             jsonPath("$.response_body.access.token").saveAs("accessToken"),
             jsonPath("$.response_body.refresh.token").saveAs("refreshToken")
            )
        ).exitHereIfFailed
    }
    val refreshAuthToken = {
        exec(http("refresh_auth_token")
         .post("/refresh_auth_token")
         .header("Authorization", "Bearer ${refreshToken}")
         .check(
           status.find.in(200,304,201,202,203,204,205,206,207,208,209),
           jsonPath("$.response_body.access.token").saveAs("accessToken")
         )
        ).exitHereIfFailed
    }
}

然后我有一个看起来像这样的场景:

val myScenario = scenario("My test")
    .exec(Auth.login)
    // Do some stuff here
    .exec(Auth.refreshAuthToken)
    // Do more stuff here

然后我有一个运行这个场景的设置。

我希望获得的其他方案将与获得与myScenario一起运行的其他方案一起运行。此方案也将执行Auth.login,但我希望它使用不同的用户集 - 所以我需要有两个单独的馈送器,它们将从场景传递到Auth.login。有人可以建议如何实现这一目标吗?

0 个答案:

没有答案