specflow reporting how generate test reports
Specflow Report Generator Tutorial: Sätt att generera testrapporter och utföra selektiva tester i Specflow:
I denna Specflow Training Tutorials for All , vi utforskade allt om Skapa levande dokumentation med pickles i vår tidigare handledning.
I denna handledning kommer vi att diskutera de olika teknikerna för att skapa rapporter för testerna skrivna i Specflow-ramverket.
Vilken typ av rapport som genereras beror också till stor del på vilken typ av testlöpare som används. Både gratis och betalda varianter av löpare finns med var och en med sina egna fördelar och nackdelar.
Vi kommer att diskutera mer om att skapa rapporter med en kombination av NUnit som testlöpare och Specflow-rapporteringsmallar för att generera HTML-rapporter från de NUnit-genererade testutdatafilerna.
Vad du kommer att lära dig:
Specflow-rapportering
Titta på videon: Titta på videohandledningen om Specflow Reporting
Generera testrapporter - förutsättningar
Innan vi börjar med att generera en testrapport, låt oss se till att alla förutsättningar är tillgängliga eller installerade.
Vi kommer att använda samma testexempel på YouTube-sökning som använder Specflow-mall med NUnit testlöpare. För att kunna börja generera rapporter behöver du NUnit-konsolen för att utföra Specflow-testerna.
Installera NUnit-konsolen genom att ladda ner den körbara paketfilen för Windows här . Ladda ner NUnit-Console -3.9.0 MSI-paketet och slutför installationen av NUnit Console steg för steg genom att köra den nedladdade paketfilen.
nätintervjufrågor och svar för nybörjare
När du väl har installerat det ska du kunna se Nunit-mappen i ProgramFiles-mappen.
Se skärmdumpen nedan:
Specflow-rapportgenerering fungerar också med andra ramar som MSUnit på samma sätt som NUnit.
Steg för steg-process
# 1) Utför testerna med NUnit Console för att skapa en XML-rapport.
- Kompilera SpecflowProject i Visual Studio och se till att det inte skapas några kompileringsfel projekt dll-fil. Den skapade DLL-filen ska vara tillgänglig i mappen Debug / Release i Visual Studio Project.
- Öppna nu kommandotolken och navigera till basplatsen för NUnit Console.
- Kör följande kommando för att utföra Specflow-testerna.
Låt oss se syntaxen först:
nunit3-console.exe 'result={PathToReportLocation};format=nunit2' {SpecflowProjectDllPath}
När ovanstående kommando har körts ser du alla dina scenarier i funktionsfilerna för att börja köras. Efter testets slutförande, se till att XML-resultatfilen från NUnit-körningen genereras på den plats som anges i resultat parameter i ovanstående kommando.
Observera också här att formatet på den genererade rapporten som vi har valts som “NUnit2” eftersom den nuvarande versionen av Specflow inte stöder NUnit 3. När detta stöd är tillgängligt kan alternativet för rapportformat tas bort.
#två) Använd nu programmet specflow.exe för att skapa HTML-rapporten.
Specflow.exe-applikationen körs över XML-rapporten som genereras av NUnit och genererar snygga HTML-rapporter. specflow.exe är en körbar applikation som finns i npm-paketmappen för projektet där specflow installerades.
Se skärmdumpen nedan för att hitta Specflow Executable.
Rapporten som genereras av denna applikation har HTML-format och innehåller en sammanfattning av exekverade scenarier grupperade efter funktioner.
Utför följande steg för att generera en HTML-rapport ur XML-rapporten som genererades genom körning av NUnit-konsolen.
- Öppna kommandotolken och navigera till Specflow-körningen.
- Kör nu kommandot med syntaxen nedan för att generera HTML-rapporten.
specflow.exe nunitexecutionreport --ProjectFile {PathToProjectSln.csproj} --xmlTestResult {PathToNUnitReportXml} --OutputFile {DesiredPathToGenerateHtmlReport}
- När ovanstående kommando har slutfört körningen, se till att HTML-rapporten genereras på den angivna mappplatsen.
Låt oss öppna den genererade rapporten och se de olika avsnitten. De viktiga avsnitten som beskrivs i rapporten markeras nedan.
hur man öppnar en .xml fil
Som du kan se är ovanstående rapport mycket lättare att läsa och tolka och är användbar för alla intressenter i projektet för att få en glimt av den totala sammanfattningen av testgenomförandet.
Utföra selektiva tester
Mycket ofta måste du utföra några selektiva tester eller en delmängd av hela testsviten eller tester markerade med några speciella kategorier. Allt detta är möjligt via Specflow-taggar som vi såg i våra tidigare artiklar (som kan användas både på funktionsnivå såväl som på scenarinivå).
Således, för att bara utföra en delmängd av tester, kan vi använda Specflow-taggar för att markera / märka sådana scenarier och medan vi kör genom NUnit-konsolrunner kan kategorierna nämnas som en del av kommandot.
Låt oss se steg för steg-processen för att utföra selektiv testkörning:
programvaruutveckling livscykel modeller pdf
# 1) Öppna Visual Studio-projektet och låt oss tagga ett scenario / en funktion som vi vill köra selektivt med en tagg / kategori som heter 'selektiv'.
#två) Kompilera lösningen för att ändringarna ska ske och en ny DLL med uppdaterade ändringar skapas.
# 3) Öppna nu kommandotolken och följ stegen som nämnts ovan för att utföra testerna med NUnit-konsolprogrammet.
# 4) NUnit-körningen tittar på testfiltret och försöker söka efter alla tester som matchar det angivna filtret. I vårt fall kommer det att försöka matcha alla funktioner / scenarier med kategorin 'selektiv' och bara utföra dessa tester.
Eftersom vi just taggat ett scenario med den här taggen bör vi förvänta oss att NUnit-testlöparen bara ska utföra ett test.
nunit3-console.exe '--result={PathToReportFile};format=nunit2' --where 'cat == selective' {PathToSpecflowSeleniumProjectDll}
Som du kan se ovan har vi nämnt filter som 'cat == selective'. NUnit-applikationen tolkar det som ett kategorifilter med värdet ”selektivt”.
# 5) När ovanstående kommandokörning har slutförts kan vi se testsammanfattningen på konsolen (liksom den genererade XML-rapporten från NUnit).
# 6) Nu kan vi skapa en HTML-rapport av den (genom att följa stegen för att generera HTML genom Specflow-körbar). Så här kommer genererad HTML att se ut.
Eftersom NUnit precis utförde ett test, ska den genererade HTML-rapporten endast visa en funktion och ett scenario.
Låt oss se hur HTML-rapporten ser ut:
Slutsats
I den här självstudien undersökte vi de olika sätten att köra Specflow-funktionstester tillsammans med att generera HTML-rapporter genom Specflow-körningen. De genererade rapporterna är lätta att läsa och tolka och är användbara för alla intressenter i projektet.
Vi såg också teknikerna för att utföra en delmängd av tester snarare än hela testpaketet genom Specflow-taggar som gör det möjligt för NUnit att leta / filtrera efter specifika scenarier och endast utföra de som matchar de angivna filterkriterierna.
Kolla in vår kommande handledning för att utforska de vanligaste intervjufrågorna om Specflow!
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- Skapa levande dokumentation med pickles för specflow-funktionsfiler
- Hur man hanterar krav, utför testfall och genererar rapporter med TestLink - Handledning nr 2
- Guide för att generera omfattande rapporter i Selen WebDriver
- Skapa appiumtest för en Android-app
- Steg Argument Transformations & Specflow Tabeller
- Hur man kör storskaliga utförande av appiumtester parallellt
- Köra dina appiumtester parallellt med Appium Studio för Eclipse
- Specflow Tutorial: The Ultimate Guide to BDD Tool