便捷的BDD:SpecFlow+TFS

网上有很多关于如何使用 SpecFlow、如何配置 TFS 运行测试的文章,但没有一篇包含所有方面。 在本文中,我将告诉您如何让每个人都可以方便地启动和编辑 SpecFlow 脚本。

在切口下方,您将了解如何获得:

  • 从 TFS 运行测试
  • 自动将脚本链接到 TFS 中的测试用例
  • TFS 中测试用例的内容始终是最新的
  • 测试人员能够直接在版本控制系统中编辑脚本
    便捷的BDD:SpecFlow+TFS

史前

我们面临着使用 BDD 方法自动化应用程序测试的任务。 由于我们公司的任务跟踪系统的基础是TFS,所以我脑子里有这样一个画面:SpecFlow脚本的步骤就是TFS中测试用例的步骤,测试是从测试计划启动的。 下面是我的实现方法。

我们需要的:

  1. 在 SpecFlow 上进行测试的项目
  2. Azure DevOps 服务器(又名 Team Foundation 服务器)
  3. 用于将 SpecFlow 脚本与 TFS 中的测试用例同步的工具

调整

1. 创建带有测试的项目构建

这里一切都很简单,组装和发布工件。 稍后将详细介绍第三个任务。

便捷的BDD:SpecFlow+TFS

2. 创建版本来运行测试

使用一项任务创建版本 - Visual Studio Test

便捷的BDD:SpecFlow+TFS

在这种情况下,任务配置为从测试计划手动运行测试

便捷的BDD:SpecFlow+TFS

3.测试用例的同步

我们知道 Visual Studio 允许您将测试方法链接到 TFS 中的测试用例并从测试计划运行它们。 为了不手动执行此操作,也为了同步脚本的内容,我编写了一个简单的控制台应用程序 特征同步。 原理很简单 - 我们解析特征文件并使用 TFS API 更新测试用例。

如何使用功能同步

将命名空间和区域设置添加到功能文件头:

#language:en
@Namespace:Application.Autotests
Feature: Log to application

*命名空间必须与包含测试方法的 .dll 文件的名称匹配

我们在 TFS 中创建空测试用例,并将标签及其 id 添加到脚本中:

便捷的BDD:SpecFlow+TFS

@2124573 @posistive
Scenario: Successful authorization
    Given I on authorization page
    And I enter:
        | Login | Password |
        | user  | pass     |
    When I press Login button
    Then Browser redirect on Home page

启动功能同步:

FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba

在我们的例子中,启动是在通过测试构建项目之后进行的:

便捷的BDD:SpecFlow+TFS

同步结果

SpecFlow 脚本步骤已同步并已设置自动化状态

便捷的BDD:SpecFlow+TFS

便捷的BDD:SpecFlow+TFS

4. 制定测试计划

我们创建一个测试计划,向其中添加自动化案例,在设置中选择构建和发布

便捷的BDD:SpecFlow+TFS

便捷的BDD:SpecFlow+TFS

5. 运行测试

在测试计划中选择所需的测试并运行它。

便捷的BDD:SpecFlow+TFS

结论

该配置的优点:

  • 任何测试人员都可以在版本控制Web表单中打开fetaure文件,对其进行编辑,更改将在构建后立即生效
  • 您可以随时单独运行测试
  • 透明的测试模型 - 我们始终知道我们启动的测试的作用。

来源: habr.com

添加评论