Există multe articole pe Internet despre cum să utilizați SpecFlow, cum să configurați TFS pentru a rula teste, dar nu există unul care să conțină toate aspectele. În acest articol, vă voi spune cum puteți face lansarea și editarea scripturilor SpecFlow convenabile pentru toată lumea.
Sub tăietură veți învăța cum să obțineți:
- Rularea de teste de la TFS
- Conectarea automată a scripturilor la cazurile de testare în TFS
- Conținut mereu actualizat al cazurilor de testare în TFS
- Posibilitatea de a edita scripturi direct în sistemul de control al versiunilor de către testeri
preistorie
Ne-am confruntat cu sarcina de a automatiza testarea aplicațiilor folosind abordarea BDD. Deoarece baza sistemului de urmărire a sarcinilor din compania noastră este TFS, aveam o imagine în cap în care pașii scriptului SpecFlow sunt pașii cazurilor de testare în TFS, iar testele sunt lansate din planurile de testare. Mai jos este cum l-am implementat.
Ce ne trebuie:
- Proiect cu teste pe SpecFlow
- Azure DevOps Server (alias Team Foundation Server)
- Un instrument pentru sincronizarea scripturilor SpecFlow cu cazuri de testare în TFS
ajustare
1. Crearea unui proiect build cu teste
Totul este simplu aici, asamblarea și publicarea artefactelor. Mai multe despre a treia sarcină mai târziu.
2. Crearea unei versiuni pentru a rula teste
Crearea unei versiuni cu o singură sarcină - Testul Visual Studio
În acest caz, sarcina este configurată pentru a rula teste manual din planul de testare
3. Sincronizarea cazurilor de testare
Știm că Visual Studio vă permite să conectați metode de testare la cazuri de testare în TFS și să le rulați din planuri de testare. Pentru a nu face acest lucru manual și, de asemenea, pentru a sincroniza conținutul scripturilor, am scris o aplicație simplă de consolă
Cum se utilizează FeatureSync
Adăugați spațiu de nume și locale la antetul fișierului caracteristic:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*spațiul de nume trebuie să se potrivească cu numele fișierului .dll care conține metodele de testare
Creăm cazuri de testare goale în TFS și adăugăm etichete cu id-ul lor la scripturi:
@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
Lansați FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
În cazul nostru, lansarea are loc după construirea proiectului cu teste:
Rezultatul sincronizării
Pașii de script SpecFlow sunt sincronizați și starea automatizării este setată
4. Stabilirea unui plan de testare
Creăm un plan de testare, adăugăm cazurile noastre automate la acesta, selectăm construirea și lansarea în setări
5. Teste de rulare
Selectați testul necesar din planul de testare și rulați-l.
Concluzie
Avantajele acestei configurații:
- orice tester poate deschide fișierul fetaure în formularul web de control al versiunii, îl poate edita și modificările vor intra în vigoare imediat după compilare
- puteți rula teste individual în orice moment
- model de testare transparent - știm întotdeauna ce face testul pe care l-am lansat.
Sursa: www.habr.com