微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – Specflow:为许多场景大纲维护一个示例表

有没有办法将“示例”数据表保存在与“场景大纲”不同的文件中?

我想要实现的是每个浏览器一个一个地运行整个场景.

我有这个使用以下功能

Feature: OpenGoogleInChrome

Scenario Outline: Open Google in Chrome
    Given a browser '<browser>'
    When the browser points to 'https://www.google.co.uk/'
    Then the title should be 'Google'

Examples:
    | browser |
    | Chrome  |
    | Edge    |
    | Firefox |

但这意味着如果我添加了另一个浏览器,则在每个测试中维护Examples表.是否可以从每个场景大纲中引用单个“示例”表?

或者从步骤定义中调用场景大纲,并附带示例表?

(使用Specflow和Selenium WebDriver和NUnit)

虽然“背景”允许您定义共享表,但它似乎适用于具有多个方案的单个功能.我正在寻找的是一种在不同(.feature)文件的每个功能中使用相同表格的方法.

根据经验,我知道使用像@Chrome这样的标签可以用于各个浏览器(这是我编写大部分测试的方式)但是使用多个标签会导致所有浏览器同时运行,而不是一个一个地运行.

解决方法

我不相信你可以在specflow(或任何小黄瓜语言实现)中这样做.正如在相关问题中所提到的,您可以有一个提供表格的背景,但我不确定这可以用于提供场景大纲中的示例,至少我从未见过这个用过,我不知道如何它可以工作.

我能想到的可能(脏)解决方案就是有一个脚本扫描你的功能文件并在你添加一个新的浏览器时更新这些例子(我无法想象这经常是这样),或者有一个代码片段如果在每个场景大纲中键入示例文本是问题,则添加示例文本.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐