Na internete je veľa článkov o tom, ako používať SpecFlow, ako nakonfigurovať TFS na spustenie testov, ale neexistuje ani jeden, ktorý by obsahoval všetky aspekty. V tomto článku vám poviem, ako môžete urobiť spúšťanie a úpravu skriptov SpecFlow pohodlnými pre každého.
Pod strihom sa dozviete, ako získať:
- Spustenie testov z TFS
- Automatické prepojenie skriptov s testovacími prípadmi v TFS
- Vždy aktuálny obsah testovacích prípadov v TFS
- Schopnosť upravovať skripty priamo v systéme správy verzií testermi
pravek
Stáli sme pred úlohou automatizovať testovanie aplikácií pomocou BDD prístupu. Keďže základom systému sledovania úloh v našej spoločnosti je TFS, mal som v hlave obrázok, kde kroky skriptu SpecFlow sú krokmi testovacích prípadov v TFS a testy sa spúšťajú z testovacích plánov. Nižšie je uvedený spôsob, akým som to implementoval.
Čo potrebujeme:
- Projekt s testami na SpecFlow
- Azure DevOps Server (známy ako Team Foundation Server)
- Nástroj na synchronizáciu skriptov SpecFlow s testovacími prípadmi v TFS
nastavenie
1. Vytvorenie zostavy projektu s testami
Všetko je tu jednoduché, montáž a publikovanie artefaktov. Viac o tretej úlohe neskôr.
2. Vytvorenie vydania na spustenie testov
Vytvorenie vydania s jednou úlohou – Visual Studio Test
V tomto prípade je úloha nakonfigurovaná na manuálne spustenie testov z plánu testovania
3. Synchronizácia testovacích prípadov
Vieme, že Visual Studio vám umožňuje prepojiť testovacie metódy s testovacími prípadmi v TFS a spustiť ich z testovacích plánov. Aby som to nerobil ručne a tiež aby som synchronizoval obsah skriptov, napísal som jednoduchú konzolovú aplikáciu
Ako používať FeatureSync
Pridajte priestor názvov a miestne nastavenie do hlavičky súboru funkcií:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*priestor názvov sa musí zhodovať s názvom súboru .dll, ktorý obsahuje testovacie metódy
V TFS vytvárame prázdne testovacie prípady a do skriptov pridávame značky s ich ID:
@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
Spustiť FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
V našom prípade sa spustenie uskutoční po zostavení projektu pomocou testov:
Výsledok synchronizácie
Kroky skriptu SpecFlow sú synchronizované a je nastavený stav automatizácie
4. Nastavenie plánu testovania
Vytvoríme testovací plán, pridáme doň naše automatizované prípady, v nastaveniach vyberieme zostavenie a vydanie
5. Priebeh testov
Vyberte požadovaný test v pláne testovania a spustite ho.
Záver
Výhody tejto konfigurácie:
- každý tester môže otvoriť súbor fetaure vo webovom formulári správy verzií, upraviť ho a zmeny sa prejavia ihneď po zostavení
- testy môžete kedykoľvek spustiť individuálne
- transparentný testovací model – vždy vieme, čo robí test, ktorý sme spustili.
Zdroj: hab.com