在加特林中将多个检查作为变量参数传递

时间:2019-05-15 14:35:14

标签: scala 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
  )

}

1 个答案:

答案 0 :(得分:2)

如果您明确显示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]]会导致编译错误。