Grunden för ett testfall i automatiserade verktyg är att kunna tillämpa rätt testramverk och som jag berättade i förra artikeln använder Cypress både Mocha.js och Chai.js ramverk som kommer med vid installationen och som är baserade på JavaScript bibliotek.
Mocha.js är ett JavaScript-testramverk med öppen källkod som körs på Node.js och i webbläsaren och som har ett mycket enkelt syntax för att skriva tester. Mocha.js kör testerna i en serie för att leverera flexibel och korrekt rapportering. Cypress har adopterat Mochas syntax för utveckling av testfall och använder den grundläggande syntaxen som Mocha erbjuder.
Nedan är några av de viktigaste delarna som du huvudsakligen kommer att använda i dina Cypress tester:
Chai.js är ett BDD/TDD (Behavioral-Driven Development/Test-Driven Development) assertions bibliotek som också är baserad på JavaScript och med öppen källkod. Chai.js har precis som Mocha.js en syntax att följa och som är integrerat i Cypress. Varje testfall måste ha ett påstående och för att testet ska kunna bli godkänt måste påståendet uppfyllas vid varje körning, därför är Chai.js biblioteket en grundläggande del av varje testfall i Cypress.
Chai har flera syntax som gör att du kan välja det som passar just ditt påstående bäst:
Should
Expect
Ett automatiserat testfall består vanligtvis av 3 steg:
Förutsättning
Handling
Förväntning
Om vi nu utgår ifrån den strukturen ovan och skapar ett scenario som vi ska automatisera med hjälp av Cypress blir resultatet följande:
Besök en hemsida
Klicka på en länk
Verifiera att du hamnar på rätt plats
Ett försteg blir då att under Integration mappen i Cypress strukturen skapar man en fil med namnet firstTest.spec.js som kommer innehålla vårt första testfall.
Cypress har en metod som heter visit() som accepterar en URL.
Cypress har metoden get() och click() som används för att hitta och interagera med HTML attribut.
Nu kommer Chai.js biblioteket till användning, i vårt fall så vill vi verifiera en text på en knapp och på så sätt kan vi säkerställa att vår handling i steg 2 har förväntat resultat.
Det som passade bäst för vårt scenario och framför allt kunna uppfylla vårt påstående var syntaxen should, vi skickade in helt enkelt argumentet som ska föreställa den texten på knappen som vi ville verifiera.
Nu är vi äntligen klara och det är dags att testköra testet. Enklaste och snabbaste sättet att göra det är genom Cypress Test Runner. I terminalfönstret använder du kommando npx cypress open. Väl inne i Cypress Test runner kan man nu se testfallet som vi precis har skapat och genom att trycka på testfall namnet öppnas webbläsaren och exekveringen startas.
I enkla steg har vi lyckats installera Cypress, förstå strukturen samt skriva ett första testfall, och det är just det som gör Cypress unikt bland de olika testverktygen. Du får ett komplett testverktyg för End-to-End GUI testning som klarar det mesta för den moderna webbapplikationen.