首页 > 解决方案 > 在 Gatling 中将多个检查作为变量参数传递

问题描述

我希望能够将支票传递给制作加特林帖子的方法。我这样做有一些问题。我尝试在支票上使用几种不同的类型,但没有运气。我想在应用程序的其他地方使用的“页面”对象上有类似下面的内容。我想我简要地看到除了基于状态的检查之外还有其他类型的检查。如果可能的话,我希望该方法足够灵活以处理此类事情。

protected val commonChecks = Seq(status.not(404),status.not(503))
def login(checks:HttpCheck = commonChecks) = {
  exec(http("post login")
    .post("/login")
    .headers(someheader)
    .formParam("login", "${userName}")
    .formParam("password", "${password}")
    .check(commonChecks) //.check(commonChecks: _*) don't work
  )

}

标签: scalagatling

解决方案


如果你明确的类型怎么办commonChecks

protected val commonChecks: Seq[HttpCheck] = Seq(status.not(404),status.not(503))
def login(checks:HttpCheck = commonChecks) = {
  exec(http("post login")
    .post("/login")
    .headers(someheader)
    .formParam("login", "${userName}")
    .formParam("password", "${password}")
    .check(commonChecks: _*)

  )

IntelliJ似乎以其他方式推断以下类型: Seq[CheckBuilder[HttpCheck, Response, Response, Int] with SaveAs[HttpCheck, Response, Response, Int]]这会导致编译错误。


推荐阅读