如何在场景中的步骤之间添加静态等待?

Sou*_*ali 2 karate

我使用了以下选项

* def sleep =
      """
      function(seconds){
        for(i = 0; i <= seconds; i++)
        {
          java.lang.Thread.sleep(1*1000);
          karate.log(i);
        }
      }
      """
* call sleep 10
Run Code Online (Sandbox Code Playgroud)

但我想了解是否有更好的内置方法来做同样的事情。也想知道是否可以添加静态等待

  • 在场景之间
  • 在场景的步骤之间
  • 在特征文件之间
  • 等等。

Pet*_*mas 5

我认为你正在做的很好。在自述文件中搜索“sleep”,您会发现:

* def sleep = function(millis){ java.lang.Thread.sleep(millis) }
* eval sleep(1000)
Run Code Online (Sandbox Code Playgroud)

你问题第二部分的答案是钩子:https : //github.com/intuit/karate#hooks

我永远不会这样做,但作为一个例子,如果你* eval java.lang.Thread.sleep(1000)Background- 它会在每个`场景之前睡觉。

编辑 - 请查看RuntimeHook高级用例:https : //stackoverflow.com/a/59080128/143475