Karate 我如何在空手道测试中定义自己的单步动作类?

Karate 我如何在空手道测试中定义自己的单步动作类?,karate,Karate,我如何在空手道测试中定义自己的单步动作类 我所需要的只是一个有效的例子(显然没有人在任何地方有这样的例子;我看了,什么也找不到,所以我在这里问) 例如,我将如何在Java中实现这个helper步骤操作?在这种情况下,如何从Java上下文中访问WebDriverdriver实例?那么,我如何称呼嵌入 @Slf4j public class SeleniumStepActions extends StepActions { public SeleniumStepActions(Feature

我如何在空手道测试中定义自己的单步动作类

我所需要的只是一个有效的例子(显然没有人在任何地方有这样的例子;我看了,什么也找不到,所以我在这里问)

例如,我将如何在Java中实现这个helper步骤操作?在这种情况下,如何从Java上下文中访问WebDriver
driver
实例?那么,我如何称呼嵌入

@Slf4j
public class SeleniumStepActions extends StepActions {
    public SeleniumStepActions(FeatureContext featureContext, CallContext callContext, Scenario scenario, LogAppender appender) {
        super(featureContext, callContext, scenario, appender);
    }
    @When("^screenshot$")
    public void takeAScreenShot()
    {
        // goals is to simulate this in a karate js test
        //    * def bytes = driver.screenshot()
        //    * karate.embed(bytes, 'image/png')
        log.info("Testing my own custom action.");
    }
}

上述方法可能不起作用。我只是希望有人能为我指明正确的方向。我希望空手道演示中有这样一个例子。

你不能。这就是为什么没有任何演示:P

有关详细讨论,请阅读以下帖子:

摘要:

  • 空手道不支持Cucumber所做的“步骤定义”
  • 有两种方法可以注入自定义逻辑:a)JS,b)Java互操作
  • 这些功能足以实现接近自定义“关键字”的功能-请参见以下示例:
  • 还有一个:

如果你坚持让你的考试读起来像“普通英语”(这是IMHO),那么空手道可能不是你的团队的最佳选择。

谢谢!我没有看到任何这些链接。我很感激。