2013-12-13 122 views
1

我使用常用​​的步骤方法;Selenium中的重复使用步骤方法

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

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

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()?

回答

1

似乎你正在使用BDD驱动的接近,但你没有指定你使用Jbehave或黄瓜的过程。我假设你正在使用Jbehave。在Jbehave您可以使用@Alias注释这样

@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获取更多信息。

请让我知道它是否有效。

+0

这是否适用于这两种情况? – testndtv

+0

是的,它会工作 – Sravan

+0

有没有人知道黄瓜里是否有Jbehave @Alias? –

相关问题