Praktisk BDD: SpecFlow+TFS

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
    Praktisk BDD: SpecFlow+TFS

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:

  1. Prosjekt med tester på SpecFlow
  2. Azure DevOps Server (aka Team Foundation Server)
  3. 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.

Praktisk BDD: SpecFlow+TFS

2. Opprette en utgivelse for å kjøre tester

Opprette en utgivelse med én oppgave - Visual Studio Test

Praktisk BDD: SpecFlow+TFS

I dette tilfellet er oppgaven konfigurert til å kjøre tester manuelt fra testplanen

Praktisk BDD: SpecFlow+TFS

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 FeatureSync. Prinsippet er enkelt - vi analyserer funksjonsfilen og oppdaterer testsakene ved hjelp av TFS API.

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:

Praktisk BDD: SpecFlow+TFS

@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:

Praktisk BDD: SpecFlow+TFS

Synkroniseringsresultat

SpecFlow-skripttrinn synkroniseres og automatiseringsstatus er satt

Praktisk BDD: SpecFlow+TFS

Praktisk BDD: SpecFlow+TFS

4. Sette opp en testplan

Vi lager en testplan, legger til våre automatiserte saker til den, velger bygg og slipp i innstillingene

Praktisk BDD: SpecFlow+TFS

Praktisk BDD: SpecFlow+TFS

5. Kjører tester

Velg ønsket test i testplanen og kjør den.

Praktisk BDD: SpecFlow+TFS

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

Legg til en kommentar