在Selenium中重用步骤方法

时间:2013-12-13 07:32:00

标签: java selenium selenium-webdriver named-parameters

我正在使用常用的步骤方法;

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>

这里我使用Examples表来传递action_text

的值

所以我的注释看起来像

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

但这需要我签名为

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

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

1 个答案:

答案 0 :(得分:1)

似乎你正在使用BDD驱动的approch,但你没有指定使用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了解更多信息。

如果有效,请告诉我。