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
ő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:
- Projekt a SpecFlow tesztjeivel
- Azure DevOps Server (más néven Team Foundation Server)
- 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.
2. Hozzon létre egy kiadást a tesztek futtatásához
Kiadás létrehozása egyetlen feladattal - Visual Studio teszt
Ebben az esetben a feladat úgy van beállítva, hogy manuálisan futtasson teszteket a teszttervből
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
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:
@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:
Szinkronizálás eredménye
Szinkronizálta a SpecFlow szkript lépéseit és beállította az automatizálási állapotot
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
5. Futtasson teszteket
Válassza ki a kívánt tesztet a teszttervben, és futtassa azt.
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