在黄瓜示例表中传递POJO

问题描述 投票:1回答:1

描述:作为测试开发人员,我想使用一个方案来测试3种不同的环境。

简化方案示例:

  @smoke
  Scenario: Login to the login page and assert that the user is logged in
    Given User navigates to the page
    And User enters valid login credentials
    When User clicks on the login button
    Then Landing page can be seen

Data(这些是从属性文件中获取的-转换为POJO):

Env1.class
url = www.environment1.com
username = john
password = doe1

Env2.class
url = www.environment2.com
username = john2
password = doe2

Env2.class
url = www.environment3.com
username = john3
password = doe3

测试设置

  1. 每个环境都有自己的测试运行器(failsafe)
  2. 每个环境并行运行。
  3. 测试运行并通过~mvn clean verify建立
  4. 测试取决于属性文件,因为环境可能会发生变化。

潜在的解决方案:有没有办法在示例表中传递POJO?或黄瓜的数据表?

我是BDD和Cucumber的新手,任何帮助都将是很大的。谢谢。

TLDR:是否可以在黄瓜示例表中传递Prop File变量?

| URL | Username | Password | 
| env1.getUrl | env1.getUsername | env1.getPassword |

它将是

 @smoke
  Scenario: Login to the login page and assert that the user is logged in
    Given User navigates to the page <URL>
    And User enters valid login credentials <Username> and <Password>
    When User clicks on the login button
    Then Landing page can be seen
selenium cucumber bdd cucumber-java
1个回答
0
投票

您可以使用方案大纲来运行同一方案,并且每次运行都使用不同的数据。但这不是并行的。它是顺序的。功能文件是,

  @smoke
  Scenario Outline: Login to the login page and assert that the user is logged in
    Given User navigates to the page <URL>
    And User enters valid login credentials <Username> and <Password>
    When User clicks on the login button
    Then Landing page can be seen
  Example:
  |URL                 |UserName|Passowrd|
  |www.environment1.com|john1   |doe1    |
  |www.environment2.com|john2   |doe2    |    
  |www.environment2.com|john3   |doe3    |

您可以使用一个跑步者班。无需使用属性文件或pojo类。

© www.soinside.com 2019 - 2024. All rights reserved.