testim io tutorial speed up authoring
I denna praktiska handledning lär du dig hur du bygger stabila tester på några minuter med hjälp av Testim-automatiseringsverktyget och använder maskininlärningsprocessen för att påskynda författning, körning och underhåll av automatiserade tester.
När vi hör frasen ”Automationsverktyg” är de viktigaste överväganden som kommer att tänka på när det gäller våra tester:
hur man testar skript på flera platser
- Författare och utförande
- Stabilitet
- Återanvändbarhet
- Sträckbarhet
- Underhåll
- Felsökning
- Rapportering
- CI / CD-integration
Det finns många verktyg på marknaden som behandlar en eller några av ovanstående faktorer men inte alla. Det är här Testim.io kommer in i bilden.
Testim.io är inte ett verktyg utan en plattform som innehåller nästan alla de viktigaste faktorerna som Authoring & Execution, underhåll, felsökning, rapportering etc. av automatiska tester. Med introduktionen till konceptet med dynamiska lokatorer fokuserar de på fler få testtyper som funktionstestning, slut-till-slut-testning och UI-testning.
Det ökar töjbarheten och stabiliteten i dina testsviter. Och ger också lagen och organisationerna flexibiliteten att utöka funktionerna på plattformen med hjälp av komplex programmeringslogik med JavaScript och HTML.
Här är en detaljerad inblick i Testim.io och hur det hjälper till att lösa några av de utmaningar som kunderna står inför under automatiseringen.
Vad du kommer att lära dig:
- Hur skiljer sig detta verktyg från andra verktyg?
- Testim.io är en plattform och INTE en skiva eller ett uppspelningsverktyg
- Ta itu med nyckelfaktorerna
- Slutsats
- Rekommenderad läsning
Hur skiljer sig detta verktyg från andra verktyg?
För att förstå hur Testim skiljer sig från de andra verktygen, låt oss ta ett steg tillbaka på hur automatiseringsverktyg har utvecklats under det senaste decenniet.
Under de senaste tio åren har det funnits flera leverantörsverktyg och öppen källkodsverktyg som försökte ta itu med de olika problemen relaterade till automatiserad testning. Men ett stort problem som ingen har behandlat förrän nu är användningen av statiska ID: er.
Till exempel , säg att en utvecklare ändrar ID-namnet eller något attribut för ett element på webbsidan. De automatiska testerna bryts omedelbart på grund av denna förändring, eftersom det fortfarande hänvisar till det gamla ID-namnet. Detta leder till instabila tester och testarna måste spendera mycket tid på att underhålla dem.
De introducerade begreppet Dynamiska lokalisatorer . Artificiell intelligens (AI) under plattformen i realtid analyserar alla DOM-objekt på en sida och extraherar objekten och dess egenskaper.
Slutligen bestämmer AI den bästa platsstrategin för att hitta ett visst element baserat på denna analys.
På grund av detta, även om en utvecklare ändrar attributet för ett element, fortsätter testet fortfarande att köras och detta leder till mer stabila tester. Som ett resultat av detta är författning och körning av automatiserade tester mycket snabbare och mer stabila.
Testim.io är en plattform och INTE en skiva eller ett uppspelningsverktyg
Först och främst är detta inte ett verktyg utan en plattform.
Den har robusta funktioner som inte bara hjälper till att automatisera dina tester utan också tar hand om de andra viktiga aspekterna av dina tester som att köra dina tester lokalt och i molnet (deras privata rutnät eller tredjepartsnät), integrera med CI / CD system, fånga loggar och skärmdumpar av testkörningar, vilket ger detaljerad rapportering av testkörningarna med grafer, statistik och annan relaterad information.
Och slutligen gör det enkelt att fånga och rapportera buggar genom att integrera med de allmänt använda verktyg för att spåra fel.
För det andra ger det organisationerna och teamen flexibiliteten att bygga sina egna omslag runt plattformen genom att använda komplex programmeringslogik med JavaScript och HTML. På detta sätt kan vem som helst utöka plattformens funktionalitet.
Slutligen är plattformen i linje med Skift-vänster-paradigm där utvecklare och testare kan börja skriva testerna från början genom att arbeta på olika grenar utan att skriva över varandras förändringar. Det hjälper också lagen att samarbeta och ger flexibilitet för alla att skriva automatiserade tester via sina inbyggda funktioner.
På detta sätt kan även en icke-teknisk teammedlem ge värdefulla bidrag till dina automatiska tester. Plattformen hjälper till att införa konceptet att automatiserade tester bör vara enkla, effektiva, stabila och samarbetsvilliga.
Ta itu med nyckelfaktorerna
Hur adresserar Testim de nyckelfaktorer som är viktiga för automatiserade tester?
Författare och utförande
Automatiserade tester måste vara enkla att författa och utföra från var som helst och när som helst.
Testim hjälper till att göra detta på följande sätt:
1) Skapa ett test
Vi skapar ett nytt test genom att klicka på 'Skapa nytt' eller 'Nytt test' .
2) Spela in och spela upp ett test
När vi klickar på 'Spela in' kan vi spela in olika användaråtgärder i vår applikation.
När du har spelat in de olika åtgärderna klickar du på “Stoppa inspelning” för att avsluta inspelningen av våra tester. Använd 'Spela' för att spela upp det inspelade testet och 'Spara' för att spara testerna.
3) Valideringar och påståenden
Denna plattform hjälper till att göra validering av olika attribut för ett element och riktigt enkla API: er.
Olika alternativ för användare som:
- Lägga till anpassade valideringar med JavaScript och HTML
- Validera elementets synlighet
- Validera elementtext
- Validering på pixelnivå
- Validering av API-nivå
4) Skärmbilder
Medan varje test spelas in tar plattformen en skärmdump av alla godkända och misslyckade resultat för varje steg. Som ett resultat har användarna lättare att felsöka problemen och förstå vad som händer under huven.
Till exempel , I skärmdumpen nedan kommer vi att märka att attributen för “Välj destination” -knappen har ändrats men testet kördes fortfarande eftersom verktyget AI använde Dynamiska sökare . Dessutom ändrades inte systemets funktionalitet utan bara attributet för ett element.
Vi får också en skärmdump av vad som exakt hände när vi kör testet genom att visa den förväntade bilden (baslinjen) och den faktiska bilden.
(Notera:Klicka på bilden nedan för en förstorad vy)
5) Feedback på varje steg
Användaren får också feedback på varje steg när det gäller huruvida testerna klarat eller misslyckats genom att visa ett 'Grön' eller “Röd ikon” längst upp till vänster i varje steg som visas nedan:
6) Märkningstester
Testim tillhandahåller funktionen för att märka varje test som en användare skapar.
Det finns två anledningar till att vi kanske vill märka ett test:
- Hjälper till att identifiera orsaken till att testet skapades i första hand.
- Hjälper till att köra testerna med samma etikett på en gång genom CLI-funktionen.
Vi skapar etiketter genom att klicka på 'Märka' och välj antingen en befintlig etikett eller skapa en ny.
7) Användardokumentation
De ger användarna all dokumentation som de behöver för att använda de olika funktionerna på denna plattform.
De flesta svaren om att använda denna plattform kan hittas genom att klicka på 'Utbilda' fliken och genom att besöka dokumentationssidan enligt nedan:
På grund av ovanstående skäl hjälper Testim.io att göra redigering och utförande av tester riktigt snabba och enkla. Inom några sekunder kan en användare spela in, spela upp och spara testerna.
Stabilitet
Testa användningsområden Dynamiska lokalisatorer istället för statiska ID. På grund av detta är testerna mer stabila och ju mer vi kör testerna, desto smartare blir AI för att säkerställa mer stabilitet för de automatiserade testerna.
En användare kommer att kunna se olika placeringsstrategier som deras AI använder för att hitta ett element i IDE, genom Egenskaper-panelen , för varje element som vi interagerar via våra automatiska tester.
Som vi kan märka, analyserar AI genom alla DOM-objekt, listar dem i Egenskaper-panelen tillsammans med rankningen för varje platsstrategi för det specifika elementet. På detta sätt, även om attributet för ett element ändras, kan AI använda en annan platsstrategi från den redan analyserade listan över DOM-objekt.
Således behöver en användare inte oroa sig för fläckiga tester.
Återanvändbarhet
En av de goda metoderna för att skriva automatiserade tester är att skapa återanvändbara komponenter som kan användas i olika delar av vår testsvit.
Varför är detta viktigt?
Att skapa återanvändbara komponenter är viktigt eftersom:
- Det hjälper till att öka läsbarheten i de automatiska testerna.
- Sparar ansträngning genom att inte upprepa samma uppsättning steg i olika delar av testerna.
- Eventuella ändringar av det återanvändbara steget behöver bara göras på ett ställe och det återspeglas genom testerna, i olika projekt.
- Gör de automatiserade testerna mer utdragbara.
Testim hjälper till att säkerställa återanvändbarhet genom 'Gruppering' och 'Parameterisering'.
1) Gruppering
Valfritt antal relaterade steg kan grupperas i en återanvändbar komponent.
Till exempel - Den 'Logga in' scenario är ett av de vanligaste stegen i alla applikationer. Det sätt på vilket vi kan skapa ett återanvändbart 'inloggningssteg' skulle vara att välja de steg som vi vill gruppera tillsammans och sedan klicka på “Lägg till ny grupp” enligt nedanstående:
2) Parameterisering
Denna plattform ger möjlighet att testa applikationen genom olika ingångskombinationer via Parameterization.
Detta kan uppnås på olika sätt.
Ett sätt att göra detta är att ge alla inmatningsparametrar som vi behöver för att testa applikationen i form av en JSON-fil i installationssteget (första steget i våra tester) som visas nedan:
Sträckbarhet
Detta verktyg ger organisationer flexibilitet att utöka funktionerna på denna plattform med JavaScript och HTML. På detta sätt, i alla funktioner som denna plattform inte hanterar, kan användaren skriva sin egen kod för att bygga ett robust automatiseringsramverk
Till exempel - Säg att vi vill validera “Välj destination” från våra tidigare exempel.
Sättet att göra detta skulle vara.
- Klicka på “Lägg till anpassad åtgärd”.
- Ge det nya steget ett namn och klicka på 'Bekräfta'.
- Klicka på 'PARAMS' och välj 'HTML' för detta exempel.
- Lägg till anpassad kod.
- Det nya steget med Anpassad kod läggs till i listan över redan existerande steg.
Underhåll
En av de viktigaste faktorerna relaterade till automatiserade tester är ” Underhåll ”.
Mycket ansträngning läggs på att underhålla testerna än att skriva de faktiska testerna. Detta leder till slöseri med värdefull ansträngning och tid från de resurser som hellre kunde ha lagt den tiden på att testa den faktiska applikationen.
Testim hjälper till att minimera de ansträngningar som krävs för att underhålla de automatiserade testerna på följande sätt:
1) Versionskontroll
Vid varje given tidpunkt är det viktigt att ha loggar över vilka ändringar som gjordes i ett visst test. På så sätt kan vi alltid återgå till den äldre versionen av ett test efter behov. Denna plattform tillhandahåller denna funktion genom att visa all versionhistorik genom att gå till Egenskaper-panelen i installationssteget och klicka på “Se gamla versioner” .
2) Förgrening
I ” Skift vänster paradigm ”Där både utveckling och testning måste starta parallellt så tidigt som möjligt i livscykeln för mjukvaruutveckling.
Med detta i åtanke, att de har tillhandahåller funktionerna till teamen för att skapa separata filialer för varje teammedlem och arbeta med samma projekt och tester. På det här sättet kan ingen skriva över de andra gruppmedlemmarnas ändringar och teamen kan arbeta på samma kodbas när som helst.
Du behöver bara välja 'Gaffel' för att skapa en ny filial och du kan också växla mellan befintliga filialer.
Användare har möjlighet att schemalägga sina tester. Detta hjälper till att köra testerna automatiskt på en viss dag och tid utan något manuellt ingripande. Vi kan också få ett meddelande via e-post vid eventuella fel.
Felsökning
Som testare spenderar vi mycket tid på att felsöka problemen. För att hjälpa till med felsökning erbjuder denna plattform olika alternativ för användarna att begränsa problemets omfattning.
Dessa alternativ inkluderar:
1) Skärmbilder
Skärmdumpfunktionen som förklaras i avsnittet ”Författning och utförande” hjälper användarna att veta vad som var grundbilden och vad som faktiskt hittades.
2) Egenskaper
Egenskapspanelen hjälper till att fånga felmeddelandena och visa det för användaren.
Till exempel, När ett element inte syns och testet misslyckas får vi nedanstående felmeddelande i panelen.
3) Testloggar
Loggar är en rik informationskälla om vad som hände under gränssnittet. Verktyget tillhandahåller testloggar när användaren kör testerna i vårt rutnät eller ett tredje parts nät. Alternativet finns i egenskapspanelen i installationssteget.
4) Dokumentation
Testim satsade mycket på att dokumentera de flesta funktionerna i verktyget i användardokumentationen som finns under 'Utbilda' flik.
Rapportering
Detta är en av de viktigaste aspekterna av dina tester för att få synligheten för vilka tester som kördes, klarade, misslyckades, körningens längd, vilka webbläsarkombinationer och så vidare.
Testim.io tillhandahåller två typer av rapporteringsfunktionen:
1) Rapportering av svit och testkörningar
När användare klickar på alternativet 'Kör' i sidmenyn kan de se alla sviter och testkörningar med alla nödvändiga detaljer som visas nedan. Detta hjälper till att få synlighet i testkörningarna och hjälper till att underlätta rapporteringen.
2) Rapportera fel
Vi tillbringar mycket tid på en dag med att rapportera fel. Detta är en av de mest kritiska och tidskrävande delarna av testningen.
Testim.io hjälper till att minska felrapporteringstiden och öka produktiviteten genom att ge en kromförlängning för att snabbt fånga och rapportera buggarna. Vi kan fånga skärmdumpar, videor av felet och spela in ett faktiskt automatiskt test med detta tillägg. Den integreras med de flesta av de ofta använda buggspårningssystemen.
Efter att ha tagit fel och klickat på 'Publicera', den fyller automatiskt alla nödvändiga steg i felbeskrivningen. Det lägger också till skärmdump, video och automatiserade tester med defekten.
(Notera:Klicka på bilden nedan för en förstorad vy)
CI / CD-integration
Detta verktyg integreras med olika CI / CD-system som Jenkins, Travis CI, Circle CI och andra byggverktyg. Det integreras också med nät från tredje part som är värd för sitt eget privata moln för att köra tester. Allt detta görs via CLI (Command Line Interface) som vi tillhandahåller på plattformen.
Klicka på 'Inställningar' ikonen från sidomenyn öppnar CLI.
Den fylls i förväg med kommandona som behöver köra testerna på CI / CD-system, nätverk från tredje part eller deras nät. Vi måste bara klicka på 'Kopiera' och bokstavligen klistra in kommandot i vilket byggverktyg eller rutnät som organisationen använder.
CLI accepterar också de andra parametrarna för att köra specifika tester, för att köra tester parallellt, för att åsidosätta bas-URL och mycket fler funktioner.
=> Alla parametrar som kan användas listas här i den här användarhandboken .
Slutsats
I ett nötskal hjälper Testim.io-plattformen att övervinna några av de största utmaningarna med automatisering som beskrivs i ovanstående avsnitt. Med detta kan du göra automatiseringen enklare och mer stabil.
Denna plattform hjälper:
- Icke-tekniska teammedlemmar för att engagera sig i automatisering och skriva solida tester.
- Tekniska teammedlemmar använder komplex programmeringslogik för att utöka funktionerna för denna plattform.
- Redigering och utförande av tester är super snabbt.
- Testerna är mer stabila med användning av “Dynamiska sökare” .
Sammantaget är det en plattform som hjälper till i olika aspekter av testautomatisering och de håller på att bygga fler funktioner för att hjälpa de agila team och organisationer att samarbeta med mottot ETT LAG och ETT MÅL.
=> Du kan utforska mer om detta verktyg här
Fråga gärna om du har några frågor och dela också dina tankar i kommentarfältet eftersom vi gärna vill veta vilka utmaningar du står inför med automatisering och hur du lyckades lösa dem.
Rekommenderad läsning
- Hur man kör storskaliga utförande av appiumtester parallellt
- Integrera i din IDE för att köra dina appiumtester
- Skapa appiumtest för en Android-app
- Köra dina appiumtester parallellt med Appium Studio för Eclipse
- Skapa epoktester med epoker Studio för Eclipse
- Skrivenhetstester med Spock Framework
- Specflow-rapportering: Hur man genererar testrapporter och utför selektiva tester
- Java-distribution: Skapande och utförande av Java JAR-fil