便捷的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文件,對其進行編輯,更改將在建置後立即生效
  • 您可以隨時單獨執行測試
  • 透明的測試模型 - 我們始終知道我們啟動的測試的作用。

來源: www.habr.com

添加評論