首页 > 解决方案 > Gatling:循环 x 次从馈线中提取值

问题描述

我想在这些方面取得一些成就

我的要求可以实现吗?带提要??这是我所拥有的概述,但没有一点在循环的每次迭代中我可以从另一个提要中获取数据:

val userFeeder = csv( "users.csv" )
val randomPagesFeeder = csv( "pages.csv" ).random

object login {
  val dologin = exec(
    http("login page")
      .get("/login")
      .headers(standardHeaders)
    )
    .exec(
      http("post login form")
        .post("/loginaction")
        .headers(standardHeaders)
        .formParam("loginid","${loginid}")
        .formParam("password", "${password}")
    )

  )
)

object randompages {
  val visitrandom = repeat(10){
     // ??? how to pull from feeder in here so that exec( http ) calls
     // have data from randomPagesFeeder, i.e.:
    exec(
      http("randompage")
        .get("${uriFromAFeeder}")
    )
  }
)

def myload() = {
    feed( userFeeder ).exec( login.dologin, randompages.visitrandom )
}
val scn = scenario( "My scenario" ).exec( myload() )

setUp( scn.inject( rampUsers( userCount ).during( userWarmup.toInt seconds ) ) ).protocols( httpProtocol )

我怀疑这是一个简单的问题,答案就在我面前。我在文档和其他教程上花了很长时间,并且遇到了理解障碍。

标签: gatling

解决方案


LOOP OVER userFeeder

不要这样做,这没有任何意义。让每个虚拟用户模拟一个真实用户并使用专用凭据而不是回收它们。

LOOP 10 次,每次从 resourceFeeder 获取新条目

检查加特林重复循环。老实说,这些都是基本问题,你应该看看官方文档Gatling Academy


推荐阅读