【问题标题】:Java Cucumber : Combine outline scenario and data tablesJava Cucumber:结合大纲场景和数据表
【发布时间】:2021-03-11 04:01:24
【问题描述】:

我问是否有任何方法可以将大纲场景和数据表结合起来,如下例所示:

Feature: User Sign UP

  Scenario Outline: User <User> tries to signup with improper combination of password
    Given the user <User> has browsed to the signup page
    When the user <User> tries to signup entering the following details
      | email           | <Email>            |
      | password        | <Password>         |
      | confirmPassword | <ConfirmPassword>  |
    Then an error message <validation> should be shown above the password field
    Examples:
      | User    | Email                   |Password          | ConfirmPassword  | validation                         |
      | user1   | email1@gmail.com        | 234567569        | 234567569        | This password is entirely numeric. |
      | user2   | email2@gmail.com        | 123456789        | 123456789        | This password is too common.       |

Java 步骤类:

   @When("the user (.+) tries to signup entering the following details")
    public void testAdd2(String user,DataTable dataTable) throws Throwable {
    //Asserts
    }

感谢您的宝贵时间。

【问题讨论】:

标签: java cucumber outline scenarios


【解决方案1】:

有可能,但不使用数据表可能更容易:

Scenario Outline: User <User> tries to signup with improper combination of password
    Given the user <User> has browsed to the signup page
    When the user <User> tries to signup entering <Email> <Password> and <Confirm Password>
    Then an error message <validation> should be shown above the password field
    Examples:
      | User    | Email                   |Password          | ConfirmPassword  | validation                         |
      | user1   | email1@gmail.com        | 234567569        | 234567569        | This password is entirely numeric. |
      | user2   | email2@gmail.com        | 123456789        | 123456789        | This password is too common.       |

还有java步骤

@When("the user (.+) tries to signup entering the following (.+) (.+) and (.+)")
    public void testAdd2(String user,String email,String password,String confirmPassword,) throws Throwable {
    //Asserts
    }

但如果你想使用数据表,你需要将其转换为列表,如下面的示例代码:

public void readDataTableElements(DataTable dt) {
    List<String> list = dt.asList(String.class);
    System.out.println("First element - " + list.get(0));
    System.out.println("Next element - " + list.get(1));

【讨论】:

  • 如果我的回答有帮助请给我反馈。
  • 我的代码工作正常,我只是在我的项目中配置了一些错误,你的代码工作也很好,但在这种情况下使用数据表更灵活。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多