Protractor 黄瓜的不同环境和数据

Protractor 黄瓜的不同环境和数据,protractor,cucumber,Protractor,Cucumber,我有个问题。我用的是量角器 例如,我的特性文件中有这个Cumber测试用例 Scenario: login successfully Given I am in mypage When I fill the fields with data | key | value | | user | userValue | | pass| passValue | And I push on login button Then

我有个问题。我用的是量角器

例如,我的特性文件中有这个Cumber测试用例

Scenario: login successfully
    Given I am in mypage
    When I fill the fields with data
        | key | value |
        | user | userValue |
        | pass| passValue |
    And I push on login button
    Then I am logged in with my credentials
假设我有3个环境(开发、测试和实时)

在dev中,我有:User1和User2

在测试中,我有:User3和User4

在live中,我有:User5和User6

我需要为每个用户做一个测试用例,总共6个测试用例

问题是:有没有办法在6个测试中使用相同的场景


谢谢大家!

将其转换为情景大纲,并将示例表拆分为3。在运行程序中为要运行的环境使用筛选器

Scenario Outline: login successfully
    Given I am in mypage
    When I fill the fields with data
        | key | value |
        | user | <userValue> |
        | pass| <passValue> |
    And I push on login button
    Then I am logged in with my credentials

@dev
Examples:
|userValue|passValue|
|user1|pass1|
|user2|pass2|

@test
Examples:
|userValue|passValue|
|user3|pass3|
|user4|pass4|

@live
Examples:
|userValue|passValue|
|user5|pass5|
|user6|pass6|

我感兴趣的是为什么要测试您是否可以登录到三种不同的环境。通常,在测试时,您将在尝试登录之前创建帐户。因此,在测试环境中,您将从一个空数据库开始,您的场景将是

Given I am registered
When I sign in
Then I should be signed in
给定的
创建帐户,当使用该帐户登录时,
检查用户界面并确认您已登录

我不知道为什么要在开发环境中运行此场景

我可以看出,您可能希望测试生产系统是否有特定的帐户,但这与测试您是否可以登录是完全不同的。另外,针对生产环境运行场景也是危险的。因此,如果您仍然想这样做,我会坚持使用一个单独的场景(理想情况下是在一组完全独立的特性中),因为您确实在测试不同的东西

Scenario: Accounts exist on production

  ...

Scneario: I can login
  ...
Scenario: Accounts exist on production

  ...

Scneario: I can login
  ...