使用进纸器确保 Gatling 中的 CSV 记录

Ensure CSV records in Gatling using feeder

我用 Gatling 使用 CSV 创建了一个简单的馈线。 该脚本运行良好,没有出现任何错误。 我知道在负载测试期间从 CSV 中获取值。 但是我怎样才能确保为每个用户获得哪个价值。 我必须确保第一个用户应该使用用户名登录:user1 和密码:password1。 由于我对 Gatling 非常陌生,因此找不到解决方案。 因此,请帮助我获得解决方案,在此先感谢......

我的 CSV 包含-

用户名密码

用户1 密码1

用户2 密码2

用户3 密码3

我的馈线脚本是:

val userCredentails= csv("user_credentials.csv").random 
val scn = scenario("RecordedSimulation")
    .exec(http("request_0")
        .get("/thulasi/myhome.php")
        .headers(headers_0)
        .resources(http("request_1")
        .post(uri1 + "/scripts/index.php")
        .headers(headers_1)
        .formParam("Action", "Offline"),
        http("request_2")
        .get(uri1 + "/images/footer.jpg"),

    .pause(75)
    // Login
      .feed(userCredentails)
    .exec(http("request_3")
        .post("/thulasi/index.php")
        .headers(headers_0)
        .formParam("cand_user_cd", "${Username}")
        .formParam("passwd", "${Password}")
        .resources(http("request_4")
        .post(uri1 + "/scripts/index.php")
        .headers(headers_1)
        .formParam("Action", "Offline"))
        )


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

}

检查 Feeder 文档:http://gatling.io/docs/2.2.0/session/feeder.html?highlight=feeders

只是不要在进纸器上使用随机数:

val userCredentails= csv("user_credentials.csv")

  • 这将从第一条记录到最后一条记录,并在 CSV 中没有更多记录时崩溃 = 因此您必须确保您的测试不会加载比您拥有的更多记录

或使用通告:

val userCredentails= csv("user_credentials.csv").circular

  • 这将从第一条记录到最后一条记录,一遍又一遍。