【问题标题】:Reuse step method in SeleniumSelenium 中的重用步骤方法
【发布时间】:2013-12-31 21:57:03
【问题描述】:

我使用的是普通步法;

public void performAction(String actionText) {
//code to access actionText
}

现在我想用两种方式调用这个方法。在第一种情况下,我说;

I select action %action_text_taken_from_properties_string

这里我将注解指定为

@When("I select action $actionText")

在 performAction() 内部,我使用自定义 processStepString() 从字符串属性文件中获取实际值

现在是第二种情况,我说;

I select action <action_text>

这里我使用示例表来传递 action_text 的值

所以我的注释看起来像

@When("I select action <action_text>")

但这需要我签名为

public void performAction(@Named("action_text") String actionText)

我的问题是如何在这两种情况下使用相同的 performAction() ?

【问题讨论】:

    标签: java selenium selenium-webdriver named-parameters


    【解决方案1】:

    似乎您正在使用 BDD 驱动的方法,但您没有指定您正在使用 Jbehave 或 Cucumber 的进程。我假设您正在使用 Jbehave。在 Jbehave 中你可以像这样使用@Alias Annotation

    @When("a stock of symbol $symbol and a threshold of $threshold") // standalone
    @Alias("a stock of <symbol> and a <threshold>") // examples table
    public void aStock(@Named("symbol") String symbol, @Named("threshold") double threshold) {
    // ...
    }
    

    您可以参考This Link了解更多信息。

    请告诉我它是否有效。

    【讨论】:

    • 有人知道 Cucumber 中是否有 Jbehave @Alias alike 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    相关资源
    最近更新 更多