Pohodlné BDD: SpecFlow+TFS

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
    Pohodlné BDD: SpecFlow+TFS

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:

  1. Projekt s testy na SpecFlow
  2. Azure DevOps Server (také znám jako Team Foundation Server)
  3. 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.

Pohodlné BDD: SpecFlow+TFS

2. Vytvoření vydání pro spuštění testů

Vytvoření vydání s jedním úkolem – Visual Studio Test

Pohodlné BDD: SpecFlow+TFS

V tomto případě je úloha nakonfigurována tak, aby spouštěla ​​testy ručně z plánu testování

Pohodlné BDD: SpecFlow+TFS

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 FeatureSync. Princip je jednoduchý – analyzujeme soubor funkcí a aktualizujeme testovací případy pomocí TFS API.

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:

Pohodlné 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

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ů:

Pohodlné BDD: SpecFlow+TFS

Výsledek synchronizace

Kroky skriptu SpecFlow jsou synchronizovány a je nastaven stav automatizace

Pohodlné BDD: SpecFlow+TFS

Pohodlné BDD: SpecFlow+TFS

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í

Pohodlné BDD: SpecFlow+TFS

Pohodlné BDD: SpecFlow+TFS

5. Průběžné testy

Vyberte požadovaný test v plánu testování a spusťte jej.

Pohodlné BDD: SpecFlow+TFS

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

Přidat komentář