Det finns många artiklar på Internet om hur man använder SpecFlow, hur man konfigurerar TFS för att köra tester, men det finns inte en som innehåller alla aspekter. I den här artikeln ska jag berätta hur du kan göra lansering och redigering av SpecFlow-skript bekvämt för alla.
Nedanför snittet lär du dig hur du får:
- Kör tester från TFS
- Automatisk länkning av skript till testfall i TFS
- Alltid uppdaterat innehåll av testfall i TFS
- Möjlighet att redigera skript direkt i versionskontrollsystemet av testare
förhistoria
Vi stod inför uppgiften att automatisera applikationstestning med BDD-metoden. Eftersom grunden för uppgiftsspårningssystemet i vårt företag är TFS, hade jag en bild i mitt huvud där stegen i SpecFlow-skriptet är stegen i testfall i TFS, och tester lanseras från testplaner. Nedan är hur jag implementerade det.
Vad vi behöver:
- Projekt med tester på SpecFlow
- Azure DevOps Server (alias Team Foundation Server)
- Ett verktyg för att synkronisera SpecFlow-skript med testfall i TFS
justering
1. Skapa en projektuppbyggnad med tester
Allt är enkelt här, montering och publicering av artefakter. Mer om den tredje uppgiften senare.
2. Skapa en version för att köra tester
Skapa en release med en uppgift - Visual Studio Test
I det här fallet är uppgiften konfigurerad att köra tester manuellt från testplanen
3. Synkronisering av testfall
Vi vet att Visual Studio låter dig länka testmetoder till testfall i TFS och köra dem från testplaner. För att inte göra detta manuellt, och även för att synkronisera innehållet i skripten, skrev jag en enkel konsolapplikation
Hur man använder FeatureSync
Lägg till namnområde och språk i rubriken för funktionsfilen:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*namnutrymmet måste matcha namnet på .dll-filen som innehåller testmetoderna
Vi skapar tomma testfall i TFS och lägger till taggar med deras id till skripten:
@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
Starta FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
I vårt fall sker lanseringen efter att projektet byggts upp med tester:
Synkroniseringsresultat
SpecFlow-skriptstegen synkroniseras och automatiseringsstatus är inställd
4. Skapa en testplan
Vi skapar en testplan, lägger till våra automatiserade ärenden i den, väljer bygg och släpp i inställningarna
5. Löpande tester
Välj önskat test i testplanen och kör det.
Slutsats
Fördelarna med denna konfiguration:
- vilken testare som helst kan öppna fetaure-filen i versionskontrollwebbformuläret, redigera den och ändringarna träder i kraft omedelbart efter bygget
- du kan köra individuella tester när som helst
- transparent testmodell – vi vet alltid vad testet vi lanserade gör.
Källa: will.com