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);
}