Cucumber BDD 自定义参数定义不适用于带有示例的功能
Cucumber BDD Custom Parameter Definition not working for feature with examples
我正在尝试使用 Serenity Cucumber BDD 编写步骤定义
这是我的特色:
@test1
Scenario Outline: I need to try to Sign up as a new user
Given I have clicked on the Sign up link
When I enter <username> and <password>
And I click on sign up button
Then I must see Success message
Examples:
| username | password |
| user001 | test123 |
| user002 | test123 |
我的步骤定义
@When(value = "I enter {word} and {word}")
public void iAddUserNameAndPassword(String userName, String password) {
user.addNewUserInfo(userName, password);
如何在步骤定义中使用“userName”和“password”而不是“word”
我尝试给出如下所示的参数定义,但它不起作用
@ParameterType("word") // regexp
public String userName(String userName){ // type, name (from method)
return new String(userName); // transformer function
}
如果您使用的是 Cucumber,那么您几乎就可以了。我其实不知道Serenity是做什么的。
参数类型注释的值应该是正则表达式。此正则表达式应与您的步骤中使用的值相匹配。
@ParameterType("[a-z0-9]+")
public String userName(String value){
return value;
}
@ParameterType("[a-z0-9]+")
public String password(String value){
return value;
}
然后在您的步骤定义中,您可以使用注释方法的方法名称作为参数类型。
@When("I enter {userName} and {password}")
public void iAddUserNameAndPassword(String userName, String password) {
user.addNewUserInfo(userName, password);
}
我正在尝试使用 Serenity Cucumber BDD 编写步骤定义
这是我的特色:
@test1
Scenario Outline: I need to try to Sign up as a new user
Given I have clicked on the Sign up link
When I enter <username> and <password>
And I click on sign up button
Then I must see Success message
Examples:
| username | password |
| user001 | test123 |
| user002 | test123 |
我的步骤定义
@When(value = "I enter {word} and {word}")
public void iAddUserNameAndPassword(String userName, String password) {
user.addNewUserInfo(userName, password);
如何在步骤定义中使用“userName”和“password”而不是“word”
我尝试给出如下所示的参数定义,但它不起作用
@ParameterType("word") // regexp
public String userName(String userName){ // type, name (from method)
return new String(userName); // transformer function
}
如果您使用的是 Cucumber,那么您几乎就可以了。我其实不知道Serenity是做什么的。
参数类型注释的值应该是正则表达式。此正则表达式应与您的步骤中使用的值相匹配。
@ParameterType("[a-z0-9]+")
public String userName(String value){
return value;
}
@ParameterType("[a-z0-9]+")
public String password(String value){
return value;
}
然后在您的步骤定义中,您可以使用注释方法的方法名称作为参数类型。
@When("I enter {userName} and {password}")
public void iAddUserNameAndPassword(String userName, String password) {
user.addNewUserInfo(userName, password);
}