写jBehave示例步骤

时间:2013-12-16 08:57:42

标签: java selenium selenium-webdriver jbehave

我想写一个jBehave步骤如下;

@When("I perform <someAction> on $panel")

所以我可以采取像

这样的步骤
i. When I perform Action1 on Panel1
ii. When I perform Action2 on Panel2

现在您可以看到,此步骤混合了占位符

1. someAction which actually comes via meta
2. $panel which is taken from the step text in the story

但这不起作用,我得到NullPointerException

如果我写

,它会起作用
@When("I perform <someAction> on Panel1")

即。我不能在同一步骤中使用2个占位符。

但由于这是一个通用的步骤,我不想硬编码任何值。

2 个答案:

答案 0 :(得分:0)

是的,你可以

@When("I perform <someAction> on *panel*")
public void perform(@Named("panel") String panelId){

}

从现在起,我建议按名称识别所有元素,使用jemmy你可以使用new NameComponentChooser(panelId)

答案 1 :(得分:0)

请在两个参数前使用$符号。然后将处理示例参数以及normal参数。

@When("I perform $action on $panel")
public void performAction(String action, String panel){
}