空手道加特林:Callonce 没有 运行
Karate-Gatling: Callonce does not run
我有一个功能文件需要登录凭据才能进行测试。在空手道中,我添加了一个 callonce read(login.feature)
,这样登录只会发生一次,并且凭据可以保存在空手道中。
然而,当我 运行 在 Karate-Gatling 中使用相同的功能文件时,我 运行 出错了:
18:34:58.325 [GatlingSystem-akka.actor.default-dispatcher-4] INFO com.intuit.karate - >> lock acquired, begin callonce: read('login.feature')
18:34:58.357 [GatlingSystem-akka.actor.default-dispatcher-4] INFO com.intuit.karate - >> lock acquired, begin callonce: read('login.feature')
18:34:58.357 [GatlingSystem-akka.actor.default-dispatcher-4] INFO com.intuit.karate - >> lock acquired, begin callonce: read('login.feature')
================================================================================
2019-05-06 18:34:58 1s elapsed
---- Requests ------------------------------------------------------------------
> Global (OK=0 KO=0 )
---- test1 ---------------------------------------------------------------------
[##########################################################################]100%
waiting: 0 / active: 0 / done: 1
================================================================================
有一个解决方法,我先执行 login.feature,然后将登录令牌提供给其他功能文件。但是,我想知道是否只有我,或者不支持 callonce
(可能还有 call
)功能。我怀疑 Gatling 没有等待对 return 的调用,而是简单地关闭了测试场景。
是的,请记住 callonce
仅限于功能文件。
使用 callSingle()
- 您可以在功能文件中使用它(而不是通常推荐的 karate-config.js
) - 保证锁定所有功能和 运行一次。
我有一个功能文件需要登录凭据才能进行测试。在空手道中,我添加了一个 callonce read(login.feature)
,这样登录只会发生一次,并且凭据可以保存在空手道中。
然而,当我 运行 在 Karate-Gatling 中使用相同的功能文件时,我 运行 出错了:
18:34:58.325 [GatlingSystem-akka.actor.default-dispatcher-4] INFO com.intuit.karate - >> lock acquired, begin callonce: read('login.feature')
18:34:58.357 [GatlingSystem-akka.actor.default-dispatcher-4] INFO com.intuit.karate - >> lock acquired, begin callonce: read('login.feature')
18:34:58.357 [GatlingSystem-akka.actor.default-dispatcher-4] INFO com.intuit.karate - >> lock acquired, begin callonce: read('login.feature')
================================================================================
2019-05-06 18:34:58 1s elapsed
---- Requests ------------------------------------------------------------------
> Global (OK=0 KO=0 )
---- test1 ---------------------------------------------------------------------
[##########################################################################]100%
waiting: 0 / active: 0 / done: 1
================================================================================
有一个解决方法,我先执行 login.feature,然后将登录令牌提供给其他功能文件。但是,我想知道是否只有我,或者不支持 callonce
(可能还有 call
)功能。我怀疑 Gatling 没有等待对 return 的调用,而是简单地关闭了测试场景。
是的,请记住 callonce
仅限于功能文件。
使用 callSingle()
- 您可以在功能文件中使用它(而不是通常推荐的 karate-config.js
) - 保证锁定所有功能和 运行一次。