testim io tutorial speed up authoring
I denne praktiske opplæringen lærer du hvordan du bygger stabile tester på få minutter ved hjelp av Testim-automatiseringsverktøyet og bruker maskinlæringsprosessen for å øke hastigheten på redigering, utføring og vedlikehold av automatiserte tester.
Når vi hører uttrykket “Automatiseringsverktøy”, er de viktigste hensynene som kommer til tankene når det gjelder testene våre:
informatica intervju spørsmål og svar for 5 års erfaring
- Forfatterskap og utførelse
- Stabilitet
- Gjenbrukbarhet
- Utvidbarhet
- Vedlikehold
- Feilsøking
- Rapportering
- CI / CD-integrasjon
Det er mange verktøy i markedet som adresserer en eller få av faktorene ovenfor, men ikke alle av dem. Det er her Testim.io kommer inn i bildet.
Testim.io er ikke et verktøy, men en plattform som inneholder nesten alle de viktigste faktorene som Authoring & Execution, vedlikehold, feilsøking, rapportering, etc., av automatiserte tester. Med introduksjonen til konseptet med dynamiske lokatorer fokuserer de flere få testtyper som funksjonstesting, end-to-end-testing og UI-testing.
Det øker utvidelsen og stabiliteten til testsuitene dine. Og gir også teamene og organisasjonene fleksibilitet til å utvide funksjonalitetene til plattformen ved hjelp av kompleks programmeringslogikk med JavaScript og HTML.
Her er et detaljert innblikk i Testim.io og hvordan det hjelper å overvinne noen av utfordringene som kunder står overfor under automatisering.
Hva du vil lære:
- Hvordan er dette verktøyet forskjellig fra andre verktøy?
- Testim.io er en plattform og IKKE en plate eller et avspillingsverktøy
- Adressering av nøkkelfaktorene
- Konklusjon
- Anbefalt lesing
Hvordan er dette verktøyet forskjellig fra andre verktøy?
For å forstå hvordan Testim skiller seg fra de andre verktøyene, la oss ta et skritt tilbake på hvordan automatiseringsverktøy har utviklet seg det siste tiåret.
I løpet av de siste 10 årene har det vært flere leverandørverktøy og åpen kildekodeverktøy som prøvde å løse de forskjellige problemene knyttet til automatisert testing. Men et stort problem som ingen har adressert til nå er bruk av statiske ID-er.
For eksempel , si at en utvikler endrer ID-navnet eller et eller annet attributt til et element på websiden. De automatiserte testene går umiddelbart i stykker på grunn av denne endringen, da det fremdeles refererer til det gamle ID-navnet. Dette fører til ustabile tester, og testerne må bruke mye tid på å opprettholde dem.
De introduserte konseptet med Dynamiske lokalisatorer . Artificial Intelligence (AI) under plattformen i sanntid, analyserer alle DOM-objektene på en side og trekker ut objektene og dens egenskaper.
Til slutt bestemmer AI den beste plasseringsstrategien for å finne et bestemt element basert på denne analysen.
På grunn av dette, selv om en utvikler endrer attributtet til et element, fortsetter testen fortsatt å kjøre, og dette fører til mer stabile tester. Som et resultat av dette er redigering og gjennomføring av automatiserte tester mye raskere og mer stabil.
Testim.io er en plattform og IKKE en plate eller et avspillingsverktøy
Først og fremst er dette ikke et verktøy, men en plattform.
Den har robuste funksjoner som ikke bare hjelper til med å automatisere testene dine, men den tar også vare på de andre viktige aspektene ved testene dine, for eksempel å kjøre testene lokalt og i skyen (deres private grid eller tredjepartsnett), integrert med CI / CD systemer, fange logger og skjermbilder av testkjøringer, og gi detaljert rapportering av testkjøringene med grafer, statistikk og annen relatert informasjon.
Og til slutt å gjøre fangst og rapportering av feil veldig enkelt ved å integrere med de mye brukte sporingsverktøyene.
For det andre gir det organisasjonene og teamene fleksibilitet til å bygge sine egne wrappers rundt plattformen ved å bruke kompleks programmeringslogikk med JavaScript og HTML. På denne måten kan alle utvide funksjonaliteten til plattformen.
Til slutt justeres plattformen med Skift-venstre paradigme der utviklerne og testerne kan begynne å skrive testene helt fra starten av ved å jobbe på forskjellige grener uten å overskrive hverandres endringer. Det hjelper også teamene til å samarbeide og gir fleksibilitet for alle å skrive automatiserte tester via de innebygde funksjonene.
På denne måten kan selv et ikke-teknisk teammedlem gi verdifulle bidrag til de automatiserte testene dine. Plattformen hjelper med å innpode konseptet om at, automatiserte tester skal være enkle, effektive, stabile og samarbeidende.
Adressering av nøkkelfaktorene
Hvordan adresserer Testim de viktigste faktorene som er avgjørende for automatiserte tester?
Forfatterskap og utførelse
Automatiske tester må være enkle å lage og utføre fra hvor som helst og når som helst.
Testim hjelper deg med å gjøre dette på følgende måter:
1) Lage en test
Vi oppretter en ny test ved å klikke på “Opprett ny” eller “Ny test” .
2) Ta opp og spille av en test
Når vi klikker på 'Ta opp' knappen, kan vi registrere forskjellige brukerhandlinger i applikasjonen vår.
Når du har registrert de forskjellige handlingene, klikker du på “Stopp opptak” knappen for å fullføre opptaket av testene våre. Bruke 'Spille' -knappen for å spille av den innspilte testen og 'Lagre' knappen for å lagre testene.
3) Valideringer og påstander
Denne plattformen hjelper til med å validere forskjellige attributter til et element og veldig enkle API-er.
Ulike alternativer for brukere som:
- Legge til egendefinerte valideringer ved hjelp av JavaScript og HTML
- Valider elementets synlighet
- Bekreft elementtekst
- Validering av pikselnivå
- Validering av API-nivå
4) Skjermbilder
Mens hver test er registrert, tar plattformen et skjermbilde av alle bestått og mislykkede resultatene for hvert trinn. Som et resultat finner brukerne det lettere å feilsøke problemene og forstå hva som skjer under panseret.
For eksempel , I skjermbildet nedenfor vil vi legge merke til at attributtene til “Velg destinasjon” knappen har endret seg, men testen kjørte fortsatt fordi verktøyet AI brukte Dynamiske søkere . Dessuten endret ikke funksjonaliteten til systemet, men bare attributtet til et element.
Vi får også skjermdump av hva som skjedde nøyaktig mens du kjørte testen ved å vise det forventede bildet (baseline) og det faktiske bildet.
(Merk:Klikk på bildet nedenfor for en forstørret visning)
5) Tilbakemelding på hvert trinn
Brukeren får også tilbakemelding på hvert trinn når det gjelder om testene bestått eller mislyktes ved å vise en 'Grønn' eller “Rødt ikon” øverst til venstre i hvert trinn som vist nedenfor:
6) Merketester
Testim gir funksjonen til å merke hver eneste test som en bruker oppretter.
Det er to grunner til at vi kanskje vil merke en test:
- Hjelper med å identifisere årsaken til at testen ble opprettet i utgangspunktet.
- Hjelper med å kjøre testene med samme etikett på en gang gjennom CLI-funksjonen.
Måten vi lager etiketter på er ved å klikke på 'Merkelapp' og velg enten en eksisterende etikett eller opprett en ny.
7) Brukerdokumentasjon
De gir brukerne all dokumentasjon som de trenger for å bruke de forskjellige funksjonene på denne plattformen.
De fleste av svarene om bruk av denne plattformen finner du ved å klikke på 'Utdanne' fanen og ved å besøke dokumentasjonssiden som vist nedenfor:
På grunn av ovennevnte årsaker, hjelper Testim.io med å gjøre redigering og gjennomføring av tester veldig raske og enkle. I løpet av noen sekunder kan en bruker ta opp, spille av og lagre testene.
Stabilitet
Testing bruker Dynamiske lokalisatorer i stedet for statiske ID-er. På grunn av dette er testene mer stabile, og jo mer vi kjører testene, jo smartere blir AI for å sikre mer stabilitet i de automatiserte testene.
En bruker vil kunne se de forskjellige plasseringsstrategiene som AI bruker for å finne et element i IDE, gjennom Egenskaper-panelet , for hvert element vi samhandler via våre automatiserte tester.
Som vi kan legge merke til, parser AI gjennom alle DOM-objektene, lister dem opp i Egenskaper-panelet sammen med rangeringen av hver eneste plasseringsstrategi for det aktuelle elementet. På denne måten, selv om attributtet til et element endres, kan AI bruke en annen plasseringsstrategi fra den allerede analyserte listen over DOM-objekter.
Dermed trenger ikke en bruker å bekymre seg for flassete tester.
Gjenbrukbarhet
En av god praksis for å skrive automatiserte tester er å lage gjenbrukbare komponenter som kan brukes i forskjellige deler av testpakken vår.
Hvorfor er dette viktig?
Å lage gjenbrukbare komponenter er viktig fordi:
- Det hjelper til med å øke lesbarheten til de automatiserte testene.
- Sparer innsats ved ikke å gjenta det samme settet med trinn i forskjellige deler av testene.
- Eventuelle endringer i det gjenbrukbare trinnet må bare gjøres på ett sted, og det gjenspeiles gjennom testene, på tvers av forskjellige prosjekter.
- Gjør de automatiserte testene mer utvidbare.
Testim bidrar til å sikre gjenbrukbarhet innen “Gruppering” og “Parameterisering”.
1) Gruppering
Et hvilket som helst antall relaterte trinn kan grupperes i en gjenbrukbar komponent.
For eksempel - Den 'Logg Inn' scenario er et av de mest brukte trinnene i ethvert program. Måten vi kan opprette et gjenbrukbart 'Login' -trinn på ville være å velge trinnene vi vil gruppere sammen og deretter klikke på “Legg til ny gruppe” som vist under:
2) Parameterisering
Denne plattformen gir muligheten til å teste applikasjonen gjennom forskjellige inngangskombinasjoner via Parameterization.
Dette kan oppnås på forskjellige måter.
En måte å gjøre dette på er å gi alle inndataparametrene vi trenger for å teste applikasjonen i form av en JSON-fil i installasjonstrinnet (første trinn i testene våre) som vist nedenfor:
Utvidbarhet
Dette verktøyet gir organisasjoner fleksibilitet til å utvide funksjonene til denne plattformen ved hjelp av JavaScript og HTML. På denne måten, i hvilken som helst funksjonalitet som denne plattformen ikke håndterer, kan brukeren skrive sin egen kode for å bygge et robust automatiseringsrammeverk
For eksempel - Si at vi vil validere “Velg destinasjon” fra våre tidligere eksempler.
Måten å gjøre dette på ville være.
- Klikk på “Legg til tilpasset handling”.
- Gi et nytt navn til det nye trinnet, og klikk på 'Bekrefte'.
- Klikk på “PARAMS” og velg “HTML” for dette eksemplet.
- Legg til tilpasset kode.
- Det nye trinnet med Egendefinert kode blir lagt til i listen over allerede eksisterende trinn.
Vedlikehold
En av de viktigste faktorene knyttet til automatiserte tester er “ Vedlikehold ”.
Det brukes mye krefter på å opprettholde testene enn å skrive de faktiske testene. Dette fører til sløsing med verdifull innsats og tid fra ressursene som heller kunne ha brukt den tiden på å teste den faktiske applikasjonen.
Testim hjelper til med å minimere innsatsen som kreves for å opprettholde de automatiserte testene på følgende måter:
1) Versjonskontroll
Til enhver tid er det viktig å ha loggene om hvilke endringer som ble gjort i en bestemt test. På denne måten kan vi alltid gå tilbake til den eldre versjonen av en test etter behov. Denne plattformen gir denne funksjonaliteten ved å vise hele versjonsloggen ved å gå til Egenskaper-panelet i installasjonstrinnet og klikke på “Se gamle revisjoner” .
2) Forgrening
I “ Skift venstre paradigme ”Der både utvikling og testing må starte parallelt så tidlig som mulig i livssyklusen for programvareutvikling.
Når du holder dette i bakhodet, gir de funksjonaliteten til teamene for å lage separate filialer for hvert teammedlem og jobbe med de samme prosjektene og testene. På denne måten kan ingen overskrive endringene til de andre teammedlemmene, og lagene kan jobbe på samme kodebase når som helst.
Du trenger bare å velge 'Gaffel' for å opprette en ny gren, og du kan også bytte mellom eksisterende filialer.
Brukere har muligheten til å planlegge testene sine. Dette hjelper deg med å kjøre testene automatisk på en bestemt dag og tid uten manuell inngrep. Vi kan også få beskjed via e-post i tilfelle feil.
Feilsøking
Som testere bruker vi betydelig tid på å feilsøke problemene. For å hjelpe til med feilsøking, tilbyr denne plattformen forskjellige alternativer for brukerne for å begrense omfanget av problemet.
Disse alternativene inkluderer:
1) Skjermbilder
Skjermbildefunksjonen som er forklart i delen 'Forfatter og utførelse' hjelper brukerne til å vite hva som var utgangspunktet og hva som faktisk ble funnet.
2) Egenskapspanel
Egenskapspanelet hjelper til med å fange feilmeldingene og vise dem for brukeren.
For eksempel, Når et element ikke er synlig og testen mislykkes, får vi feilmeldingen nedenfor i panelet.
3) Testlogger
Logger er en rik kilde til informasjon om hva som skjedde under brukergrensesnittet. Verktøyet gir testlogger når brukeren kjører testene på nettet vårt eller et tredjepartsnett. Alternativet finner du i egenskapspanelet til installasjonstrinnet.
4) Dokumentasjon
Testim satset mye på å dokumentere de fleste funksjonene i verktøyet i brukerdokumentasjonen som finnes under 'Utdanne' kategorien.
Rapportering
Dette er en av de viktigste aspektene ved testene dine for å få synlighet på hvilke tester som ble kjørt, bestått, mislyktes, løpetid, hvilke nettleserkombinasjoner og så videre.
Testim.io tilbyr to typer rapporteringsfunksjon:
1) Rapportering av Suite og Testkjøring
Når brukere klikker på alternativet 'Kjører' i sidemenyen, kan de se alle suitene og prøvekjøringer med alle nødvendige detaljer som vist nedenfor. Dette bidrar til å få synlighet på testkjøringene og hjelper til med enklere rapportering.
2) Rapportering av feil
Vi bruker betydelig tid på en dag med å rapportere feil. Dette er en av de mest kritiske og tidkrevende delene av testing.
Testim.io bidrar til å redusere feilrapporteringstiden og øke produktiviteten ved å gi en kromforlengelse for å fange og rapportere feilene raskt. Vi kan ta skjermbilder, videoer av feilen og ta opp en faktisk automatisert test med denne utvidelsen. Den integreres med de fleste av de mye brukte feilsporingssystemene.
Etter å ha tatt feilen og klikket på 'Publisere', den fyller automatisk alle nødvendige trinn i feilbeskrivelsen. Det legger også til skjermbilde, video og automatiserte tester med feilen.
(Merk:Klikk på bildet nedenfor for en forstørret visning)
CI / CD-integrasjon
Dette verktøyet integreres med forskjellige CI / CD-systemer som Jenkins, Travis CI, Circle CI og andre byggeverktøy. Den integreres også med tredjepartsnett som er vert for sin egen private sky for å kjøre tester. Alt dette gjøres via CLI (Command Line Interface) som vi tilbyr i plattformen.
Ved å klikke på “Innstillinger” ikonet fra sidemenyen åpner CLI.
Den er forhåndsutfylt med kommandoene som trenger å kjøre testene på CI / CD-systemer, tredjepartsnett eller deres nett. Vi må bare klikke på 'Kopiere' og bokstavelig talt lim inn kommandoen i hvilket byggeverktøy eller rutenett organisasjonen bruker.
CLI godtar også de andre parametrene for å kjøre spesifikke tester, for å kjøre tester parallelt, for å overstyre basis-URL og mye mer funksjonalitet.
=> Alle parametrene som kan brukes er oppført her i denne brukerhåndboken .
Konklusjon
I et nøtteskall hjelper Testim.io-plattformen med å løse noen av de største utfordringene med automatisering som beskrevet i avsnittene ovenfor. Med dette kan du gjøre automatisering enklere og mer stabil.
Denne plattformen vil hjelpe:
- Ikke-tekniske teammedlemmer for å involvere seg i automatisering og skrive solide tester.
- Tekniske teammedlemmer bruker kompleks programmeringslogikk for å utvide funksjonene til denne plattformen.
- Forfatter og gjennomføring av tester er super rask.
- Testene er mer stabile ved bruk av “Dynamic Locators” .
Samlet sett er det en plattform som hjelper i forskjellige fasetter av testautomatisering, og de er i ferd med å bygge flere funksjoner for å hjelpe de smidige teamene og organisasjonene til å samarbeide med mottoet ET LAG og ET MÅL.
=> Du kan utforsk mer om dette verktøyet her
Spør gjerne om du har spørsmål, og del også tankene dine i kommentarfeltet, da vi gjerne vil vite hvilke utfordringer du står overfor med automatisering og hvordan du klarte å løse dem.
Anbefalt lesing
- Hvordan kjøre storskala gjennomføring av appiumtester parallelt
- Integrer deg i IDE for å kjøre appiumtestene dine
- Lag appiumtester for en Android-app
- Kjøre appiumtestene parallelt med Appium Studio for Eclipse
- Opprette epoketester ved hjelp av epoker Studio for Eclipse
- Skriveenhetstester med Spock Framework
- Specflow Reporting: Slik genererer du testrapporter og utfører selektive tester
- Java-distribusjon: Opprettelse og utføring av Java JAR-fil