網路上有很多關於如何使用 SpecFlow、如何設定 TFS 執行測試的文章,但沒有一篇包含所有方面。 在本文中,我將告訴您如何讓每個人都可以輕鬆啟動和編輯 SpecFlow 腳本。
在切口下方,您將了解如何獲得:
底
我們面臨著使用 BDD 方法自動化應用程式測試的任務。 由於我們公司的任務追蹤系統的基礎是TFS,所以我腦中有一個畫面:SpecFlow腳本的步驟就是TFS中測試案例的步驟,測試是從測試計畫啟動的。 下面是我的實作方法。
我們需要的:
- 在 SpecFlow 上進行測試的項目
- Azure DevOps 伺服器(又稱 Team Foundation 伺服器)
- 用於將 SpecFlow 腳本與 TFS 中的測試案例同步的工具
調整
1. 建立具有測試的專案構建
這裡一切都很簡單,組裝和發布工件。 稍後將詳細介紹第三個任務。
2. 建立版本來執行測試
使用一項任務建立版本 - Visual Studio Test
在這種情況下,任務配置為從測試計劃手動執行測試
3.測試用例的同步
我們知道 Visual Studio 允許您將測試方法連結到 TFS 中的測試案例並從測試計劃運行它們。 為了不手動執行此操作,也為了同步腳本的內容,我編寫了一個簡單的控制台應用程式
如何使用功能同步
將命名空間和區域設定新增至功能檔案頭:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*命名空間必須與包含測試方法的 .dll 檔案的名稱相符
我們在 TFS 中建立空測試案例,並將標籤及其 id 新增至腳本:
@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
在我們的例子中,啟動是在透過測試建置專案之後進行的:
同步結果
SpecFlow 腳本步驟已同步並已設定自動化狀態
4. 制定測試計劃
我們創建一個測試計劃,向其中添加自動化案例,在設定中選擇建置和發布
5. 運行測試
在測試計劃中選擇所需的測試並執行它。
結論
此配置的優點:
- 任何測試人員都可以在版本控制Web表單中開啟fetaure文件,對其進行編輯,更改將在建置後立即生效
- 您可以隨時單獨執行測試
- 透明的測試模型 - 我們始終知道我們啟動的測試的作用。
來源: www.habr.com