如何检查属性是否存在于 Gatling/Scala 中

roz*_*ner 6 scala gatling

我认为这可能很容易做到,但我真的一点也不了解 Scala。

我有一个场景,第一次用户登录并看到一个页面,然后如果他们再次登录,他们将看不到这个页面。所以到目前为止我想出的最好的是:

val chain = exec(
http("Login page")
  .get("/en/login")
  .headers(Config.HTML_HEADER)
).exec(
      http("login request")
        .post("/en/j_spring_security_check")
        .formParam("j_username", """${username}""")
        .formParam("j_password", """${password}""")
        .check(status.is(200))
        .check(currentLocationRegex(".*termsAndConditions").optional.saveAs("tc"))
    )
    .doIf(session => !session("tc").equals(null)) { // this doesn't work 
      exec(AgreeTermsAndConditions.chain)
  }
Run Code Online (Sandbox Code Playgroud)

所以我在 doIf 上尝试了很多东西,目标只是在没有设置会话“tc”的情况下执行。有没有简单的方法来做到这一点?

Ste*_*lle 1

正确阅读文档${tc.exists()}