Na internetu je mnoho článků o tom, jak používat SpecFlow, jak nakonfigurovat TFS pro spouštění testů, ale žádný neobsahuje všechny aspekty. V tomto článku vám řeknu, jak můžete spouštění a úpravy skriptů SpecFlow usnadnit všem.
Pod střihem se dozvíte, jak získat:
- Spuštění testů z TFS
- Automatické propojení skriptů s testovacími případy v TFS
- Vždy aktuální obsah testovacích případů v TFS
- Schopnost upravovat skripty přímo v systému správy verzí testery
pravěk
Stáli jsme před úkolem automatizovat testování aplikací pomocí BDD přístupu. Protože základem systému sledování úkolů v naší společnosti je TFS, měl jsem v hlavě obrázek, kde kroky skriptu SpecFlow jsou kroky testovacích případů v TFS a testy se spouštějí z testovacích plánů. Níže je uvedeno, jak jsem to implementoval.
Co potřebujeme:
- Projekt s testy na SpecFlow
- Azure DevOps Server (také znám jako Team Foundation Server)
- Nástroj pro synchronizaci skriptů SpecFlow s testovacími případy v TFS
Nastavení
1. Vytvoření sestavení projektu s testy
Vše je zde jednoduché, sestavování a zveřejňování artefaktů. Více o třetím úkolu později.
2. Vytvoření vydání pro spuštění testů
Vytvoření vydání s jedním úkolem – Visual Studio Test
V tomto případě je úloha nakonfigurována tak, aby spouštěla testy ručně z plánu testování
3. Synchronizace testovacích případů
Víme, že Visual Studio umožňuje propojit testovací metody s testovacími případy v TFS a spouštět je z testovacích plánů. Abychom to nedělali ručně a také za účelem synchronizace obsahu skriptů, napsal jsem jednoduchou konzolovou aplikaci
Jak používat FeatureSync
Přidejte jmenný prostor a národní prostředí do záhlaví souboru funkce:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*namespace musí odpovídat názvu souboru .dll, který obsahuje testovací metody
V TFS vytváříme prázdné testovací případy a do skriptů přidáváme značky s jejich 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
Spustit FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
V našem případě ke spuštění dojde po vytvoření projektu pomocí testů:
Výsledek synchronizace
Kroky skriptu SpecFlow jsou synchronizovány a je nastaven stav automatizace
4. Nastavení testovacího plánu
Vytvoříme testovací plán, přidáme do něj naše automatizované případy, vybereme sestavení a vydání v nastavení
5. Průběžné testy
Vyberte požadovaný test v plánu testování a spusťte jej.
Závěr
Výhody této konfigurace:
- každý tester může otevřít soubor fetaure ve webovém formuláři pro správu verzí, upravit jej a změny se projeví ihned po sestavení
- testy můžete kdykoli spustit jednotlivě
- transparentní testovací model – vždy víme, co test, který jsme spustili, dělá.
Zdroj: www.habr.com