testim io tutorial speed up authoring
I denne praktiske vejledning lærer du, hvordan man opbygger stabile tests på få minutter ved hjælp af Testim-automatiseringsværktøjet og bruger maskinlæringsprocessen til at fremskynde oprettelse, udførelse og vedligeholdelse af automatiserede tests.
Når vi hører sætningen 'Automationsværktøj', er de vigtigste overvejelser, der kommer til at tænke på med hensyn til vores tests:
youtube til wav-konverter gratis online
- Forfatter og udførelse
- Stabilitet
- Genanvendelighed
- Udvidelse
- Vedligeholdelse
- Fejlfinding
- Rapportering
- CI / CD-integration
Der er mange værktøjer på markedet, der adresserer en eller få af ovenstående faktorer, men ikke dem alle. Det er her Testim.io kommer ind i billedet.
Testim.io er ikke et værktøj, men en platform, der inkluderer næsten alle de vigtigste faktorer som Authoring & Execution, vedligeholdelse, fejlfinding, rapportering osv. af automatiserede tests. Med introduktionen til konceptet med dynamiske locators fokuserer de flere få testtyper som funktionstest, end-to-end-test og UI-test.
Det øger strækbarheden og stabiliteten af dine testpakker. Og giver også holdene og organisationerne fleksibilitet til at udvide platformens funktionaliteter ved hjælp af kompleks programmeringslogik med JavaScript og HTML.
Her er en detaljeret indsigt i Testim.io og hvordan det hjælper med at overvinde nogle af de udfordringer, som kunder står over for under automatisering.
Hvad du vil lære:
- Hvordan adskiller dette værktøj sig fra andre værktøjer?
- Testim.io er en platform og IKKE en post eller et afspilningsværktøj
- Adressering af nøglefaktorerne
- Konklusion
- Anbefalet læsning
Hvordan adskiller dette værktøj sig fra andre værktøjer?
For at forstå, hvordan Testim adskiller sig fra de andre værktøjer, lad os tage et skridt tilbage på, hvordan automatiseringsværktøjer har udviklet sig i løbet af det sidste årti.
I de sidste 10 år har der været flere leverandørværktøjer og open source-værktøjer, der forsøgte at løse de forskellige problemer i forbindelse med automatiseret test. Men et stort problem, som ingen har behandlet indtil nu er brugen af statiske ID'er.
For eksempel , siger, at en udvikler ændrer ID-navnet eller en eller anden attribut for et element på websiden. De automatiske test går straks i stykker på grund af denne ændring, da det stadig henviser til det gamle ID-navn. Dette fører til ustabile tests, og testerne skal bruge meget tid på at vedligeholde dem.
De introducerede begrebet Dynamiske lokalisatorer . Kunstig intelligens (AI) under platformen i realtid analyserer alle DOM-objekter på en side og udtrækker objekterne og dens egenskaber.
Endelig beslutter AI den bedste placeringsstrategi for at finde et bestemt element baseret på denne analyse.
På grund af dette, selvom en udvikler ændrer attributten for et element, fortsætter testen stadig med at køre, og dette fører til mere stabile tests. Som et resultat af dette er oprettelse og udførelse af automatiserede tests meget hurtigere og mere stabil.
Testim.io er en platform og IKKE en post eller et afspilningsværktøj
Først og fremmest er dette ikke et værktøj, men en platform.
Det har robuste funktioner, som ikke kun hjælper med at automatisere dine tests, men det tager sig også af de andre vigtige aspekter af dine tests, såsom at køre dine tests lokalt og i skyen (deres private grid eller tredjepartsnet), der integreres med CI / CD systemer, optagelse af logfiler og skærmbilleder af testkørsler, der giver detaljeret rapportering af testkørslene med grafer, statistikker og anden relateret information.
Og endelig gør fangst og rapportering af bugs meget enkel ved at integrere med de meget anvendte bug tracking-værktøjer.
For det andet giver det organisationerne og holdene fleksibiliteten til at opbygge deres egne wrappers rundt om platformen ved hjælp af kompleks programmeringslogik med JavaScript og HTML. På denne måde kan enhver udvide platformens funktionalitet.
Endelig er platformen på linje med Skift-venstre paradigme hvor udviklerne og testerne kan begynde at skrive testene lige fra starten ved at arbejde på forskellige grene uden at overskrive hinandens ændringer. Det hjælper også holdene med at samarbejde og giver enhver fleksibilitet til at skrive automatiserede tests via de indbyggede funktioner.
På denne måde kan selv et ikke-teknisk teammedlem yde værdifulde bidrag til dine automatiserede tests. Platformen hjælper med at indgyde konceptet om, automatiserede tests skal være enkle, effektive, stabile og samarbejdsvillige.
Adressering af nøglefaktorerne
Hvordan adresserer Testim de nøglefaktorer, der er vigtige for automatiserede tests?
Forfatter og udførelse
Automatiske tests skal være nemme at oprette og udføre fra hvor som helst og når som helst.
Testim hjælper med at gøre dette på følgende måder:
1) Oprettelse af en test
Vi opretter en ny test ved at klikke på 'Opret ny' eller 'Ny test' .
2) Optagelse og afspilning af en test
Når vi klikker på 'Optage' knappen, kan vi registrere forskellige brugerhandlinger i vores applikation.
Når du har optaget de forskellige handlinger, skal du klikke på 'Stop optagelse' knappen for at afslutte optagelsen af vores tests. Brug 'Spil' for at afspille den optagede test og 'Gemme' knappen for at gemme testene.
3) Valideringer og påstande
Denne platform hjælper med at foretage validering af forskellige attributter for et element og virkelig enkle API'er.
Forskellige muligheder for brugere som:
- Tilføjelse af brugerdefinerede valideringer ved hjælp af JavaScript og HTML
- Valider elementets synlighed
- Valider elementtekst
- Validering af pixelniveau
- Validering af API-niveau
4) Skærmbilleder
Mens hver test er optaget, tager platformen et screenshot af alle Pass og Mislykkede resultater for hvert trin. Som et resultat finder brugerne det lettere at foretage fejlfinding af problemerne og forstå, hvad der sker under emhætten.
For eksempel , I nedenstående skærmbillede vil vi bemærke, at attributterne til 'Vælg destination' knappen har ændret sig, men testen kørte stadig, fordi værktøjet AI anvendte Dynamiske placeringer . Desuden ændrede systemets funktionalitet sig ikke, men kun attributten for et element.
Vi får også skærmbilledet af, hvad der nøjagtigt skete under kørsel af testen ved at vise det forventede billede (baseline) og det faktiske billede.
(Bemærk:Klik på nedenstående billede for en forstørret visning)
5) Feedback på hvert trin
Brugeren får også feedback på hvert trin med hensyn til, om testene er bestået eller mislykkedes ved at vise en 'Grøn' eller “Rødt ikon” øverst til venstre i hvert trin som vist nedenfor:
6) Mærkningstest
Testim giver funktionen til mærkning af hver test, som en bruger opretter.
Der er to grunde til, at vi måske vil mærke en test:
- Hjælper med at identificere årsagen til, at testen blev oprettet i første omgang.
- Hjælper med at køre testene med samme etiket på én gang gennem CLI-funktionen.
Den måde, vi opretter etiketter på, er ved at klikke på 'Etiket' og vælg enten en eksisterende etiket eller opret en ny.
7) Brugerdokumentation
De giver brugerne al den dokumentation, som de har brug for for at bruge de forskellige funktioner på denne platform.
De fleste af svarene om brug af denne platform kan findes ved at klikke på 'Uddanne' fanen og ved at besøge dokumentationsstedet som vist nedenfor:
Af ovenstående grunde hjælper Testim.io med at gøre redigering og udførelse af tests virkelig hurtig og enkel. Inden for få sekunder kan en bruger optage, afspille og gemme testene.
Stabilitet
Test bruger Dynamiske lokalisatorer i stedet for statiske id'er. På grund af dette er testene mere stabile, og jo mere vi kører testene, desto smartere bliver AI for at sikre mere stabilitet til de automatiserede tests.
En bruger vil være i stand til at se de forskellige placeringsstrategier, som deres AI bruger til at lokalisere et element i IDE gennem Panelet Egenskaber , for hvert element, vi interagerer via vores automatiserede tests.
Som vi kan bemærke, parses AI gennem alle DOM-objekterne og viser dem i egenskabspanelet sammen med placeringen af hver eneste placeringsstrategi for det pågældende element. På denne måde, selvom attributten for et element ændres, kan AI bruge en anden placeringsstrategi fra den allerede parsede liste over DOM-objekter.
Således behøver en bruger ikke bekymre sig om flaky tests.
Genanvendelighed
En af de gode fremgangsmåder ved skrivning af automatiserede tests er at skabe genanvendelige komponenter, der kan bruges i forskellige dele af vores testpakke.
Hvorfor er dette vigtigt?
Oprettelse af genanvendelige komponenter er vigtigt, fordi:
- Det hjælper med at øge læsbarheden af de automatiserede tests.
- Sparer indsats ved ikke at gentage det samme sæt trin i forskellige dele af testene.
- Eventuelle ændringer i det genanvendelige trin skal kun udføres ét sted, og det afspejles gennem testene på tværs af forskellige projekter.
- Gør de automatiserede tests mere udvidelige.
Testim hjælper med at sikre genanvendelighed ved 'Gruppering' og 'Parameterisering'.
1) Gruppering
Et hvilket som helst antal relaterede trin kan grupperes i en genanvendelig komponent.
For eksempel - Det 'Log på' scenarie er et af de mest anvendte trin i enhver applikation. Den måde, hvorpå vi kan oprette et genanvendeligt 'Login' -trin, ville være at vælge de trin, som vi vil gruppere sammen, og derefter klikke på “Tilføj ny gruppe” som vist nedenfor:
2) Parametrering
Denne platform giver mulighed for at teste applikationen gennem forskellige inputkombinationer via Parameterization.
Dette kan opnås på forskellige måder.
En måde at gøre dette på er at give alle de inputparametre, som vi har brug for for at teste applikationen i form af en JSON-fil i opsætningstrinnet (første trin i vores tests) som vist nedenfor:
Udvidelse
Dette værktøj giver organisationer fleksibilitet til at udvide funktionaliteterne på denne platform ved hjælp af JavaScript og HTML. På denne måde, i enhver funktionalitet, som denne platform ikke håndterer, kan brugeren skrive deres egen kode for at opbygge en robust automatiseringsramme
For eksempel - Sig, at vi vil validere 'Vælg destination' knap fra vores tidligere eksempler.
Måden at gøre dette på ville være.
- Klik på 'Tilføj tilpasset handling'.
- Giv det nye trin et navn, og klik på 'Bekræfte'.
- Klik på 'PARAMS' og vælg 'HTML' for dette eksempel.
- Tilføj tilpasset kode.
- Det nye skridt med Brugerdefineret kode bliver føjet til listen over allerede eksisterende trin.
Vedligeholdelse
En af de vigtigste faktorer i forbindelse med automatiserede tests er “ Vedligeholdelse ”.
En stor indsats bruges på at vedligeholde testene end at skrive de faktiske tests. Dette fører til spild af værdifuld indsats og tid fra de ressourcer, der hellere kunne have brugt den tid på at teste den aktuelle applikation.
Testim hjælper med at minimere den krævede indsats for at vedligeholde de automatiserede tests på følgende måder:
1) Versionskontrol
På et givet tidspunkt er det vigtigt at have logfilerne over, hvilke ændringer der blev foretaget i en bestemt test. På denne måde kan vi altid vende tilbage til den ældre version af en test efter behov. Denne platform leverer denne funktionalitet ved at vise al versionshistorik ved at gå til egenskabspanelet i opsætningstrinet og klikke på 'Se gamle revisioner' .
2) Forgrening
I “ Skift venstre paradigme ”Hvor både udvikling og test skal starte parallelt så tidligt som muligt i softwareudviklings livscyklus.
Når man holder dette i tankerne, har de funktionaliteten til holdene til at oprette separate filialer for hvert teammedlem og arbejde på de samme projekter og tests. På denne måde kan ingen overskrive ændringerne hos de andre teammedlemmer, og holdene kan til enhver tid arbejde på den samme kodebase.
Du skal bare vælge 'Gaffel' for at oprette en ny gren, og du kan også skifte mellem eksisterende grene.
Brugere har mulighed for at planlægge deres tests. Dette hjælper med at køre testene automatisk på en bestemt dag og tid uden nogen manuel indgriben. Vi kan også få besked via e-mail i tilfælde af fejl.
Fejlfinding
Som testere bruger vi lang tid på fejlfinding af problemerne. For at hjælpe med fejlfinding tilbyder denne platform forskellige muligheder for brugerne at begrænse omfanget af problemet.
Disse muligheder inkluderer:
1) Skærmbilleder
Skærmbilledfunktionen forklaret i afsnittet 'Forfatter og udførelse' hjælper brugerne med at vide, hvad der var basislinjebilledet, og hvad der faktisk blev fundet.
2) Egenskabspanel
Egenskabspanelet hjælper med at opfange fejlmeddelelserne og vise dem for brugeren.
For eksempel, Når et element ikke er synligt, og testen mislykkes, får vi nedenstående fejlmeddelelse i panelet.
3) Testlogfiler
Logfiler er en rig kilde til information om, hvad der skete under brugergrænsefladen. Værktøjet leverer testlogfiler, når brugeren kører testene på vores gitter eller et tredjepartsgitter. Indstillingen findes i egenskabspanelet i opsætningstrinnet.
4) Dokumentation
Testim lagde en stor indsats for at dokumentere de fleste af funktionerne i værktøjet i brugerdokumentationen, der findes under 'Uddanne' fanen.
Rapportering
Dette er et af de vigtigste aspekter af dine tests for at få synlighed for, hvilke tests der kørte, bestod, mislykkedes, løbetiden varede, hvilke browserkombinationer og så videre.
Testim.io indeholder to typer rapporteringsfunktion:
1) Rapportering af Suite og Testkørsler
Når brugere klikker på 'Kører' i sidemenuen, kan de se alle pakkerne og testkørsler med alle de nødvendige detaljer som vist nedenfor. Dette hjælper med at få synlighed på testkørslerne og hjælper med lettere rapportering.
2) Rapportering af fejl
Vi bruger en betydelig mængde tid på en dag til at rapportere fejl. Dette er en af de mest kritiske og tidskrævende dele af testningen.
Testim.io hjælper med at reducere fejlrapporteringstiden og øge produktiviteten ved at give en kromudvidelse til hurtigt at indfange og rapportere fejlene. Vi kan optage skærmbilleder, videoer af fejlen og optage en faktisk automatiseret test med denne udvidelse. Det integreres med de fleste af de meget anvendte bug tracking-systemer.
Efter at have fundet fejlen og klikke på 'Offentliggøre', den udfylder automatisk alle de nødvendige trin i fejlbeskrivelsen. Det tilføjer også skærmbilledet, videoen og de automatiserede tests med defekten.
(Bemærk:Klik på nedenstående billede for en forstørret visning)
CI / CD-integration
Dette værktøj integreres med forskellige CI / CD-systemer som Jenkins, Travis CI, Circle CI og andre buildværktøjer. Det integreres også med tredjepartsnetværk, der er vært for deres egen private sky for at køre tests. Alt dette sker via CLI (Command Line Interface), som vi leverer på platformen.
Ved at klikke på 'Indstillinger' ikon fra sidemenuen åbner CLI.
Det er præ-udfyldt med de kommandoer, der skal køre testene på CI / CD-systemer, tredjepartsnet eller deres net. Vi skal bare klikke på 'Kopi' og bogstaveligt talt indsæt kommandoen i det buildværktøj eller gitter, som organisationen bruger.
CLI accepterer også de andre parametre til at køre specifikke tests, til at køre tests parallelt, til at tilsidesætte basis-URL og meget mere funktionalitet.
=> Alle parametre, der kan bruges, er angivet her i denne brugervejledning .
Konklusion
I en nøddeskal hjælper Testim.io-platformen med at overvinde nogle af de største udfordringer med automatisering som beskrevet i ovenstående afsnit. Med dette kan du gøre automatisering enklere og mere stabil.
Denne platform hjælper:
- Ikke-tekniske teammedlemmer til at blive involveret i automatisering og skrive solide tests.
- Tekniske teammedlemmer bruger kompleks programmeringslogik til at udvide funktionaliteterne på denne platform.
- Autorisering og udførelse af tests er super hurtig.
- Test er mere stabile ved brug af “Dynamiske placeringer” .
Samlet set er det en platform, der hjælper i forskellige aspekter af testautomatisering, og de er i færd med at opbygge flere funktioner for at hjælpe de agile teams og organisationer til at samarbejde med mottoet ET TEAM og ET MÅL.
=> Du kan udforsk mere om dette værktøj her
Du er velkommen til at spørge, om du har spørgsmål, og del også dine tanker i kommentarfeltet, da vi meget gerne vil vide, hvilke udfordringer du står over for med automatisering, og hvordan det lykkedes dig at løse dem.
Anbefalet læsning
- Sådan køres udførelse af appiumtest i stor skala parallelt
- Integrer i din IDE for at køre dine appiumtest
- Opret appiumtest til en Android-app
- Kørsel af dine appiumtests parallelt ved hjælp af Appium Studio til Eclipse
- Oprettelse af epoketests ved hjælp af epoker Studio for Eclipse
- Skrivningstest med Spock Framework
- Specflow-rapportering: Sådan genereres testrapporter og udføres selektive tests
- Java-implementering: Oprettelse og udførelse af Java JAR-fil