Praktisk BDD: SpecFlow+TFS

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

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:

  1. Projekt med tests på SpecFlow
  2. Azure DevOps Server (alias Team Foundation Server)
  3. 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.

Praktisk BDD: SpecFlow+TFS

2. Oprettelse af en udgivelse til at køre test

Oprettelse af en udgivelse med én opgave - Visual Studio Test

Praktisk BDD: SpecFlow+TFS

I dette tilfælde er opgaven konfigureret til at køre test manuelt fra testplanen

Praktisk BDD: SpecFlow+TFS

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 FeatureSync. Princippet er enkelt - vi analyserer funktionsfilen og opdaterer testcaserne ved hjælp af TFS API.

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:

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 vores tilfælde sker lanceringen efter opbygning af projektet med test:

Praktisk BDD: SpecFlow+TFS

Synkroniseringsresultat

SpecFlow-scripttrin synkroniseres, og automatiseringsstatus er indstillet

Praktisk BDD: SpecFlow+TFS

Praktisk BDD: SpecFlow+TFS

4. Opsætning af en testplan

Vi opretter en testplan, tilføjer vores automatiserede sager til den, vælger build og release i indstillingerne

Praktisk BDD: SpecFlow+TFS

Praktisk BDD: SpecFlow+TFS

5. Løbende test

Vælg den ønskede test i testplanen og kør den.

Praktisk BDD: SpecFlow+TFS

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

Tilføj en kommentar