Daar is baie artikels op die netwerk oor hoe om SpecFlow te gebruik, hoe om TFS op te stel om toetse uit te voer, maar daar is nie een wat al die aspekte bevat nie. In hierdie artikel sal ek jou vertel hoe jy die bekendstelling en redigering van SpecFlow-skrifte vir almal gerieflik kan maak.
Onder die snit sal jy leer hoe om:
- Lopende toetse vanaf TFS
- Outomatiese koppeling van skrifte na toetsgevalle in TFS
- Altyd bygewerkte inhoud van toetsgevalle in TFS
- Vermoë om skrifte direk in die weergawebeheerstelsel deur toetsers te wysig
voorgeskiedenis
Ons het voor die taak gestaan om toepassingstoetsing te outomatiseer deur die BDD-benadering te gebruik. Aangesien die basis van die taakopsporingstelsel in ons maatskappy TFS is, het ek 'n prentjie in my kop gehad waar die stappe van die SpecFlow-skrip die stappe van toetsgevalle in TFS is, en toetse vanaf toetsplanne van stapel gestuur word. Hieronder is hoe ek dit geïmplementeer het.
Wat ons nodig het:
- Projek met toetse op SpecFlow
- Azure DevOps Server (ook bekend as Team Foundation Server)
- 'n Hulpmiddel om SpecFlow-skrifte met toetsgevalle in TFS te sinchroniseer
aanpassing
1. Skep 'n projekbou met toetse
Alles is eenvoudig hier, samestelling en publikasie van artefakte. Meer oor die derde taak later.
2. Skep 'n vrystelling om toetse uit te voer
Skep 'n vrystelling met een taak - Visual Studio Test
In hierdie geval is die taak gekonfigureer om toetse handmatig uit die toetsplan uit te voer
3. Sinchronisasie van toetsgevalle
Ons weet dat Visual Studio jou toelaat om toetsmetodes aan toetsgevalle in TFS te koppel en dit vanaf toetsplanne uit te voer. Om dit nie handmatig te doen nie, en ook om die inhoud van die skrifte te sinchroniseer, het ek 'n eenvoudige konsoletoepassing geskryf
Hoe om FeatureSync te gebruik
Voeg naamspasie en locale by die kenmerklêeropskrif:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*naamruimte moet ooreenstem met die naam van die .dll-lêer wat die toetsmetodes bevat
Ons skep leë toetsgevalle in TFS en voeg etikette met hul ID by die skrifte:
@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
Begin FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
In ons geval vind die bekendstelling plaas nadat die projek met toetse gebou is:
Sinchronisasie resultaat
SpecFlow-skripstappe word gesinchroniseer en outomatiseringstatus is ingestel
4. Die opstel van 'n toetsplan
Ons skep 'n toetsplan, voeg ons outomatiese gevalle daarby, kies bou en vrystelling in die instellings
5. Lopende toetse
Kies die vereiste toets in die toetsplan en voer dit uit.
Gevolgtrekking
Die voordele van hierdie konfigurasie:
- enige toetser kan die fetaure-lêer in die weergawebeheer-webvorm oopmaak, dit wysig en die veranderinge sal onmiddellik na die bou in werking tree
- jy kan enige tyd individueel toetse uitvoer
- deursigtige toetsmodel - ons weet altyd wat die toets doen wat ons van stapel gestuur het.
Bron: will.com