Det er mange artikler på Internett om hvordan du bruker SpecFlow, hvordan du konfigurerer TFS til å kjøre tester, men det er ikke en som inneholder alle aspektene. I denne artikkelen skal jeg fortelle deg hvordan du kan gjøre lansering og redigering av SpecFlow-skript praktisk for alle.
Under kuttet lærer du hvordan du får:
- Kjører tester fra TFS
- Automatisk kobling av script til testcases i TFS
- Alltid oppdatert innhold av testsaker i TFS
- Evne til å redigere skript direkte i versjonskontrollsystemet av testere
forhistorie
Vi sto overfor oppgaven med å automatisere applikasjonstesting ved å bruke BDD-tilnærmingen. Siden grunnlaget for oppgavesporingssystemet i selskapet vårt er TFS, hadde jeg et bilde i hodet mitt der trinnene til SpecFlow-skriptet er trinnene i testcases i TFS, og tester lanseres fra testplaner. Nedenfor er hvordan jeg implementerte det.
Det vi trenger:
- Prosjekt med tester på SpecFlow
- Azure DevOps Server (aka Team Foundation Server)
- Verktøy for å synkronisere SpecFlow-skript med testtilfeller i TFS
justering
1. Lage et prosjektbygg med tester
Alt er enkelt her, montering og publisering av gjenstander. Mer om den tredje oppgaven senere.
2. Opprette en utgivelse for å kjøre tester
Opprette en utgivelse med én oppgave - Visual Studio Test
I dette tilfellet er oppgaven konfigurert til å kjøre tester manuelt fra testplanen
3. Synkronisering av testtilfeller
Vi vet at Visual Studio lar deg koble testmetoder til testsaker i TFS og kjøre dem fra testplaner. For ikke å gjøre dette manuelt, og også for å synkronisere innholdet i skriptene, skrev jeg en enkel konsollapplikasjon
Slik bruker du FeatureSync
Legg til navneområde og lokalitet til funksjonsfiloverskriften:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*navneområdet må samsvare med navnet på .dll-filen som inneholder testmetodene
Vi lager tomme testtilfeller i TFS og legger til tagger med deres id til skriptene:
@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 vårt tilfelle skjer lanseringen etter å ha bygget prosjektet med tester:
Synkroniseringsresultat
SpecFlow-skripttrinn synkroniseres og automatiseringsstatus er satt
4. Sette opp en testplan
Vi lager en testplan, legger til våre automatiserte saker til den, velger bygg og slipp i innstillingene
5. Kjører tester
Velg ønsket test i testplanen og kjør den.
Konklusjon
Fordelene med denne konfigurasjonen:
- enhver tester kan åpne fetaure-filen i versjonskontrollnettskjemaet, redigere den og endringene trer i kraft umiddelbart etter byggingen
- du kan kjøre individuelle tester når som helst
- transparent testmodell – vi vet alltid hva testen vi lanserte gjør.
Kilde: www.habr.com