Na mreži postoji mnogo članaka o tome kako koristiti SpecFlow, kako konfigurirati TFS za pokretanje testova, ali ne postoji nijedan koji sadrži sve aspekte. U ovom članku ću vam reći kako možete učiniti pokretanje i uređivanje SpecFlow skripti pogodnim za svakoga.
Ispod kroja ćete naučiti kako da dobijete:
- Pokretanje testova iz TFS-a
- Automatsko povezivanje skripti sa test slučajevima u TFS-u
- Uvijek ažuran sadržaj test slučajeva u TFS-u
- Mogućnost uređivanja skripti direktno u sistemu kontrole verzija od strane testera
prapovijest
Bili smo suočeni sa zadatkom automatizacije testiranja aplikacija koristeći BDD pristup. Pošto je osnova sistema za praćenje zadataka u našoj kompaniji TFS, u glavi sam imao sliku gde su koraci SpecFlow skripte koraci test slučajeva u TFS-u, a testovi se pokreću iz test planova. U nastavku je kako sam to implementirao.
Šta nam treba:
- Projekt s testovima na SpecFlow
- Azure DevOps Server (aka Team Foundation Server)
- Alat za sinhronizaciju SpecFlow skripti sa test slučajevima u TFS-u
podešavanje
1. Kreiranje izrade projekta sa testovima
Ovdje je sve jednostavno, sastavljanje i objavljivanje artefakata. Više o trećem zadatku kasnije.
2. Kreiranje izdanja za pokretanje testova
Kreiranje izdanja sa jednim zadatkom - Visual Studio Test
U ovom slučaju, zadatak je konfiguriran za ručno pokretanje testova iz plana testiranja
3. Sinhronizacija test slučajeva
Znamo da Visual Studio omogućava da povežete metode testiranja sa test slučajevima u TFS-u i da ih pokrenete iz planova testiranja. Kako to ne bih radio ručno, a također i kako bih sinkronizirao sadržaj skripti, napisao sam jednostavnu konzolnu aplikaciju
Kako koristiti FeatureSync
Dodajte prostor imena i lokalizaciju u zaglavlje datoteke sa značajkama:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*imenski prostor mora odgovarati imenu .dll datoteke koja sadrži metode testiranja
Kreiramo prazne test slučajeve u TFS-u i dodajemo tagove sa njihovim id skriptama:
@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
Pokrenite FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
U našem slučaju, lansiranje se događa nakon izgradnje projekta s testovima:
Rezultat sinhronizacije
Koraci SpecFlow skripte su sinhronizovani i status automatizacije je postavljen
4. Postavljanje plana testiranja
Kreiramo plan testiranja, dodajemo mu naše automatizirane slučajeve, odabiremo build i release u postavkama
5. Pokretanje testova
Odaberite traženi test u planu testiranja i pokrenite ga.
zaključak
Prednosti ove konfiguracije:
- bilo koji tester može otvoriti datoteku fetaure u web obrascu za kontrolu verzija, urediti je i promjene će stupiti na snagu odmah nakon izrade
- možete pokrenuti pojedinačne testove u bilo koje vrijeme
- transparentan model testiranja - uvijek znamo šta test koji smo pokrenuli radi.
izvor: www.habr.com