重用另一个 .feature 文件中的 SpeckFlow 示例

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

我们有多种分辨率的功能可供测试。我们需要使用此分辨率列表来测试数百个站点,因此希望能够引用该列表并能够从一个文件维护它。

Feature: Navbar

Verifies that navbar items are displayed in commonly used desktop display resolutions.

Scenario: Verify navbar is displayed correctly in commonly used desktop resolutions
    Given I navigated to site
    When I view site at desktop resolution <resolution>
    Then logo is displayed at start of navbar
    And navbar parent menu items are displayed in navbar   

    Examples: 
    | resolution |
    | 2560x1440  |
    | 1920x480   |
    | 1600x900   |
    | 1536x864   |
    | 1440x900   |
    | 1366x768   |
    | 1280x1024  |
    | 1280x720   |

有没有办法从不同的功能引用此示例列表?有更好的方法吗?

我们在 .NET 6 中使用 SpecFlow 和 Selenium。

selenium-webdriver cucumber .net-6.0 specflow gherkin
1个回答
0
投票

SpecFlow 外部数据插件 正是为此类测试而设计的。它允许您将示例与场景分开,并在功能文件中重复使用这些示例。

大致流程是这样的:

  1. 使用场景中的示例数据创建 CSV 文件。确保 CSV 文件中的列与您场景中的

    <tokens>
    匹配。

  2. 在场景名称之前的标签中引用 CSV 文件:

    @DataSource:path-to-examples.csv
    Scenario: Verify navbar is displayed correctly in commonly used desktop resolutions
    

我确信有一些设置可以使用这个插件。有关这些细节,请参阅我上面链接的官方 SpecFlow 文档。


请注意,这在很大程度上取代了 SpecFlow+ Excel 插件,该插件仅适用于较旧的 SpecFlow 2.x 版本。 SpecFlow v3+ 应转换为外部数据插件。

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