Kényelmes BDD: SpecFlow+TFS

A neten sok cikk található a SpecFlow használatáról, a TFS beállításáról a tesztek futtatására, de nincs olyan, ami minden szempontot tartalmazna. Ebben a cikkben megmutatom, hogyan teheti mindenki számára egyszerűvé a SpecFlow szkriptek futtatását és szerkesztését.

A vágás alatt megtudhatja, hogyan szerezheti be:

  • Tesztek futtatása TFS-ből
  • Szkriptek automatikus összekapcsolása tesztesetekkel TFS-ben
  • A tesztesetek mindig naprakész tartalma a TFS-ben
  • Lehetőség a szkriptek szerkesztésére közvetlenül a verzióvezérlő rendszerben a tesztelők által
    Kényelmes BDD: SpecFlow+TFS

őstörténet

Azzal a feladattal álltunk szemben, hogy automatizáljuk az alkalmazások tesztelését BDD megközelítéssel. Mivel cégünknél a TFS a feladatkövető rendszer alapja, kialakult egy kép a fejemben, hogy a SpecFlow script lépései a TFS-ben a tesztesetek lépései, a tesztek pedig teszttervekből indulnak el. Bővebben arról, hogyan valósítottam meg.

Amire szükségünk van:

  1. Projekt a SpecFlow tesztjeivel
  2. Azure DevOps Server (más néven Team Foundation Server)
  3. Eszköz a SpecFlow szkriptek szinkronizálására a TFS tesztesetekkel

beállítás

1. Hozzon létre egy projekt összeállítást tesztekkel

Itt minden egyszerű, a műtárgyak összeszerelése és közzététele. A harmadik feladatról később.

Kényelmes BDD: SpecFlow+TFS

2. Hozzon létre egy kiadást a tesztek futtatásához

Kiadás létrehozása egyetlen feladattal - Visual Studio teszt

Kényelmes BDD: SpecFlow+TFS

Ebben az esetben a feladat úgy van beállítva, hogy manuálisan futtasson teszteket a teszttervből

Kényelmes BDD: SpecFlow+TFS

3. Tesztesetek szinkronizálása

Tudjuk, hogy a Visual Studio lehetővé teszi a tesztmódszerek összekapcsolását a TFS teszteseteivel, és futtathatja azokat teszttervekből. Annak érdekében, hogy ne kézzel csináljam, és a szkriptek tartalmát is szinkronizáljam, írtam egy egyszerű konzol alkalmazást FeatureSync. Az elv egyszerű – elemezzük a szolgáltatásfájlt, és frissítjük a teszteseteket a TFS API segítségével.

A FeatureSync használata

Adjon hozzá névteret és területi beállítást a szolgáltatásfájl fejlécéhez:

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

A *névtérnek meg kell egyeznie a tesztmódszereket tartalmazó .dll fájl nevével

Hozzon létre üres teszteseteket TFS-ben, és adjon hozzá címkéket az azonosítójukkal a szkriptekhez:

Kényelmes 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

Indítsa el a FeatureSyncet:

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

Esetünkben az indítás a projekt tesztekkel történő felépítése után történik:

Kényelmes BDD: SpecFlow+TFS

Szinkronizálás eredménye

Szinkronizálta a SpecFlow szkript lépéseit és beállította az automatizálási állapotot

Kényelmes BDD: SpecFlow+TFS

Kényelmes BDD: SpecFlow+TFS

4. Tesztterv beállítása

Teszttervet készítünk, ehhez hozzáadjuk az automatizált eseteinket, a beállításokban kiválasztjuk a buildet és a kiadást

Kényelmes BDD: SpecFlow+TFS

Kényelmes BDD: SpecFlow+TFS

5. Futtasson teszteket

Válassza ki a kívánt tesztet a teszttervben, és futtassa azt.

Kényelmes BDD: SpecFlow+TFS

Következtetés

Ennek a konfigurációnak az előnyei:

  • Bármely tesztelő megnyithatja a fetaure fájlt a verzióvezérlő webes űrlapon, szerkesztheti azt, és a változtatások a build után azonnal életbe lépnek.
  • bármikor lefuttathatja a teszteket egyenként
  • átlátható tesztmodell – mindig tudjuk, hogy az általunk futtatott teszt mit csinál.

Forrás: will.com

Hozzászólás