Na internetu je veliko člankov o tem, kako uporabljati SpecFlow, kako konfigurirati TFS za izvajanje testov, vendar ni nobenega, ki bi vseboval vse vidike. V tem članku vam bom povedal, kako lahko naredite zagon in urejanje skriptov SpecFlow priročno za vsakogar.
Pod rezom boste izvedeli, kako pridobiti:
- Izvajanje testov iz TFS
- Samodejno povezovanje skriptov s testnimi primeri v TFS
- Vedno posodobljena vsebina testnih primerov v TFS
- Možnost urejanja skriptov neposredno v sistemu za nadzor različic s strani preizkuševalcev
prazgodovina
Postavili smo se pred nalogo avtomatizacije testiranja aplikacij s pristopom BDD. Ker je osnova sistema za sledenje nalog v našem podjetju TFS, sem imel v glavi sliko, kjer so koraki skripte SpecFlow koraki testnih primerov v TFS, testi pa se zaženejo iz testnih načrtov. Spodaj je opisano, kako sem to implementiral.
Kaj potrebujemo:
- Projekt s testi na SpecFlow
- Strežnik Azure DevOps (aka Team Foundation Server)
- Orodje za sinhronizacijo skriptov SpecFlow s testnimi primeri v TFS
prilagoditev
1. Ustvarjanje gradnje projekta s testi
Tukaj je vse preprosto, sestavljanje in objava artefaktov. Več o tretji nalogi kasneje.
2. Ustvarjanje izdaje za izvajanje testov
Ustvarjanje izdaje z eno nalogo - Visual Studio Test
V tem primeru je naloga konfigurirana za ročno izvajanje testov iz testnega načrta
3. Sinhronizacija testnih primerov
Vemo, da Visual Studio omogoča povezovanje testnih metod s testnimi primeri v TFS in njihovo izvajanje iz testnih načrtov. Da tega ne bi delal ročno in tudi zaradi sinhronizacije vsebine skriptov, sem napisal preprosto konzolno aplikacijo
Kako uporabljati FeatureSync
Dodajte imenski prostor in področne nastavitve v glavo datoteke funkcij:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*imenski prostor se mora ujemati z imenom datoteke .dll, ki vsebuje testne metode
V TFS ustvarimo prazne testne primere in skriptom dodamo oznake z njihovim ID-jem:
@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
Zaženite FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
V našem primeru se zagon izvede po izgradnji projekta s testi:
Rezultat sinhronizacije
Koraki skripta SpecFlow so sinhronizirani in stanje avtomatizacije je nastavljeno
4. Priprava testnega načrta
Ustvarimo testni načrt, mu dodamo naše avtomatizirane primere, v nastavitvah izberemo build in release
5. Izvajanje testov
V testnem načrtu izberite želeni test in ga zaženite.
Zaključek
Prednosti te konfiguracije:
- vsak preizkuševalec lahko odpre datoteko fetaure v spletnem obrazcu za nadzor različic, jo uredi in spremembe bodo začele veljati takoj po gradnji
- kadar koli lahko izvajate posamezne teste
- pregleden testni model - vedno vemo, kaj naredi test, ki smo ga lansirali.
Vir: www.habr.com