Bekväm BDD: SpecFlow+TFS

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
    Bekväm BDD: SpecFlow+TFS

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:

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

Bekväm BDD: SpecFlow+TFS

2. Skapa en version för att köra tester

Skapa en release med en uppgift - Visual Studio Test

Bekväm BDD: SpecFlow+TFS

I det här fallet är uppgiften konfigurerad att köra tester manuellt från testplanen

Bekväm BDD: SpecFlow+TFS

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 FeatureSync. Principen är enkel - vi analyserar funktionsfilen och uppdaterar testfallen med hjälp av TFS API.

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:

Bekväm 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

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:

Bekväm BDD: SpecFlow+TFS

Synkroniseringsresultat

SpecFlow-skriptstegen synkroniseras och automatiseringsstatus är inställd

Bekväm BDD: SpecFlow+TFS

Bekväm BDD: SpecFlow+TFS

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

Bekväm BDD: SpecFlow+TFS

Bekväm BDD: SpecFlow+TFS

5. Löpande tester

Välj önskat test i testplanen och kör det.

Bekväm BDD: SpecFlow+TFS

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

Lägg en kommentar