Der er mange artikler på internettet om, hvordan man bruger SpecFlow, hvordan man konfigurerer TFS til at køre test, men der er ikke en, der indeholder alle aspekterne. I denne artikel vil jeg fortælle dig, hvordan du kan gøre lancering og redigering af SpecFlow-scripts bekvemt for alle.
Under snittet lærer du, hvordan du får:
- Kørsel af tests fra TFS
- Automatisk linkning af scripts til testcases i TFS
- Altid opdateret indhold af testcases i TFS
- Mulighed for at redigere scripts direkte i versionskontrolsystemet af testere
forhistorie
Vi stod over for opgaven med at automatisere applikationstest ved hjælp af BDD-tilgangen. Da grundlaget for opgavesporingssystemet i vores virksomhed er TFS, havde jeg et billede i mit hoved, hvor trinene i SpecFlow scriptet er trinene i testcases i TFS, og test lanceres fra testplaner. Nedenfor er hvordan jeg implementerede det.
Hvad vi har brug for:
- Projekt med tests på SpecFlow
- Azure DevOps Server (alias Team Foundation Server)
- Et værktøj til at synkronisere SpecFlow-scripts med testcases i TFS
justering
1. Oprettelse af en projektopbygning med tests
Alt er enkelt her, montering og udgivelse af artefakter. Mere om den tredje opgave senere.
2. Oprettelse af en udgivelse til at køre test
Oprettelse af en udgivelse med én opgave - Visual Studio Test
I dette tilfælde er opgaven konfigureret til at køre test manuelt fra testplanen
3. Synkronisering af testcases
Vi ved, at Visual Studio giver dig mulighed for at linke testmetoder til testcases i TFS og køre dem fra testplaner. For ikke at gøre dette manuelt, og også for at synkronisere indholdet af scripts, skrev jeg en simpel konsolapplikation
Sådan bruger du FeatureSync
Tilføj navneområde og lokalitet til funktionsfilens overskrift:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*navneområdet skal matche navnet på den .dll-fil, der indeholder testmetoderne
Vi opretter tomme testcases i TFS og tilføjer tags med deres id til scripts:
@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
Start FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
I vores tilfælde sker lanceringen efter opbygning af projektet med test:
Synkroniseringsresultat
SpecFlow-scripttrin synkroniseres, og automatiseringsstatus er indstillet
4. Opsætning af en testplan
Vi opretter en testplan, tilføjer vores automatiserede sager til den, vælger build og release i indstillingerne
5. Løbende test
Vælg den ønskede test i testplanen og kør den.
Konklusion
Fordelene ved denne konfiguration:
- enhver tester kan åbne fetaure-filen i versionskontrol-webformularen, redigere den, og ændringerne træder i kraft umiddelbart efter opbygningen
- du kan til enhver tid køre test individuelt
- gennemsigtig testmodel - vi ved altid, hvad den test, vi lancerede, gør.
Kilde: www.habr.com