testim io tutorial speed up authoring
In deze praktische zelfstudie leert u hoe u binnen enkele minuten stabiele tests kunt bouwen met behulp van de Testim-automatiseringstool en het machine-leerproces kunt gebruiken om het opstellen, uitvoeren en onderhouden van geautomatiseerde tests te versnellen.
Wanneer we de uitdrukking 'Automation Tool' horen, zijn de belangrijkste overwegingen die in ons opkomen met betrekking tot onze tests:
gratis mp3-muziekdownloadsites voor Android-telefoons
- Auteur en uitvoering
- Stabiliteit
- Herbruikbaarheid
- Uitbreidbaarheid
- Onderhoud
- Probleemoplossen
- Rapporteren
- CI / CD-integratie
Er zijn veel tools op de markt die een of enkele van de bovenstaande factoren aanpakken, maar niet alle. Dit is waar Testim.io in beeld komt.
Testim.io is geen tool, maar een platform dat bijna alle belangrijke factoren omvat, zoals Authoring & Execution, onderhoud, probleemoplossing, rapportage, enz., van geautomatiseerde tests. Met de introductie van het concept van dynamische locators, richten ze zich meer op enkele testtypen, zoals functioneel testen, end-to-end-testen en UI-testen.
Het verhoogt de uitbreidbaarheid en stabiliteit van uw testsuites. En geeft de teams en de organisaties ook de flexibiliteit om de functionaliteiten van het platform uit te breiden met behulp van complexe programmeerlogica met JavaScript en HTML.
Hier is een gedetailleerd inzicht in Testim.io en hoe het helpt om enkele van de uitdagingen waarmee klanten worden geconfronteerd tijdens automatisering, te overwinnen.
Wat je leert:
- Waarin verschilt deze tool van andere tools?
- Testim.io is een platform en GEEN record of afspeelprogramma
- De belangrijkste factoren aanpakken
- Gevolgtrekking
- Aanbevolen literatuur
Waarin verschilt deze tool van andere tools?
Om te begrijpen hoe Testim zich onderscheidt van de andere tools, laten we een stap terug doen in de manier waarop automatiseringstools zich het afgelopen decennium hebben ontwikkeld.
In de afgelopen 10 jaar zijn er verschillende tools van leveranciers en open source-tools geweest die probeerden de verschillende problemen met betrekking tot geautomatiseerd testen aan te pakken. Maar een groot probleem dat tot nu toe niemand heeft aangepakt, is het gebruik van statische ID's.
Bijvoorbeeld stel dat een ontwikkelaar de ID-naam of een kenmerk van een element op de webpagina verandert. De geautomatiseerde tests breken onmiddellijk door deze wijziging, omdat het nog steeds verwijst naar de oude ID-naam. Dit leidt tot onstabiele tests en de testers moeten veel tijd besteden aan het onderhouden ervan.
Ze introduceerden het concept van Dynamische zoekers De kunstmatige intelligentie (AI) onder het platform in realtime analyseert alle DOM-objecten van een pagina en extraheert de objecten en hun eigenschappen.
Ten slotte bepaalt de AI de beste locatiestrategie om een bepaald element te lokaliseren op basis van deze analyse.
Hierdoor blijft de test, zelfs als een ontwikkelaar het attribuut van een element verandert, doorlopen en dit leidt tot stabielere tests. Als gevolg hiervan is het schrijven en uitvoeren van geautomatiseerde tests veel sneller en stabieler.
Testim.io is een platform en GEEN record of afspeelprogramma
Allereerst is dit geen tool maar een platform.
Het heeft robuuste functies die niet alleen helpen om uw tests te automatiseren, maar het zorgt ook voor de andere belangrijke aspecten van uw tests, zoals het lokaal en in de cloud uitvoeren van uw tests (hun eigen netwerk of grid van een derde partij), integratie met CI / CD systemen, het vastleggen van logs en screenshots van testruns, met gedetailleerde rapportage van de testruns met grafieken, statistieken en andere gerelateerde informatie.
En tot slot het vastleggen en rapporteren van bugs heel eenvoudig maken door te integreren met de veelgebruikte bug-trackingtools.
Ten tweede geeft het de organisaties en de teams de flexibiliteit om hun eigen wrappers rond het platform te bouwen door complexe programmeerlogica met JavaScript en HTML te gebruiken. Op deze manier kan iedereen de functionaliteit van het platform uitbreiden.
Ten slotte is het platform uitgelijnd met de Shift-Left-paradigma waar de ontwikkelaars en testers vanaf het begin kunnen beginnen met het schrijven van de tests door aan verschillende branches te werken zonder elkaars wijzigingen te overschrijven. Het helpt de teams ook om samen te werken en biedt iedereen de flexibiliteit om geautomatiseerde tests te schrijven via de ingebouwde functionaliteiten.
Op deze manier kan zelfs een niet-technisch teamlid waardevolle bijdragen leveren aan uw geautomatiseerde tests. Het platform helpt om het concept bij te brengen dat, geautomatiseerde tests moeten eenvoudig, effectief, stabiel en collaboratief zijn.
De belangrijkste factoren aanpakken
Hoe pakt Testim de sleutelfactoren aan die essentieel zijn voor geautomatiseerde tests?
Auteur en uitvoering
Geautomatiseerde tests moeten gemakkelijk kunnen worden geschreven en uitgevoerd, waar en wanneer dan ook.
Testim helpt hierbij op de volgende manieren:
1) Een test maken
We maken een nieuwe test door op te klikken 'Nieuwe test maken' of 'Nieuwe test'
2) Opnemen en afspelen van een test
Zodra we op de 'Vermelding' knop, kunnen we verschillende gebruikersacties opnemen in onze applicatie.
Na het registreren van de verschillende acties, klikt u op 'Stop met opnemen' knop om het opnemen van onze tests te beëindigen. Gebruik de 'Speel' knop om de opgenomen test en de 'Opslaan' knop om de tests op te slaan.
3) Validaties en beweringen
Dit platform helpt bij het valideren van verschillende attributen van een element en heel eenvoudige API's.
Diverse opties voor gebruikers zoals:
- Aangepaste validaties toevoegen met JavaScript en HTML
- Valideer de zichtbaarheid van het element
- Elementtekst valideren
- Validatie op pixelniveau
- Validatie op API-niveau
4) Schermafbeeldingen
Terwijl elke test wordt geregistreerd, maakt het platform een screenshot van alle Pass- en Fail-resultaten van elke stap. Als gevolg hiervan vinden de gebruikers het gemakkelijker om de problemen op te lossen en te begrijpen wat er onder de motorkap gebeurt.
Bijvoorbeeld In de onderstaande schermafbeelding zullen we zien dat de attributen van de 'Kies bestemming' knop zijn gewijzigd, maar de test is nog steeds uitgevoerd omdat de tool AI heeft gebruikt Dynamische zoekers Ook veranderde de functionaliteit van het systeem niet, maar alleen het attribuut van een element.
We krijgen ook een screenshot van wat er precies is gebeurd tijdens het uitvoeren van de test door de verwachte afbeelding (basislijn) en de werkelijke afbeelding weer te geven.
Notitie:Klik op onderstaande afbeelding voor een vergrote weergave)
5) Feedback bij elke stap
De gebruiker krijgt ook de feedback over elke stap in termen van of de tests geslaagd of mislukt zijn door een 'Groen' of 'Rood pictogram' in de linkerbovenhoek van elke stap, zoals hieronder weergegeven:
6) Etiketteringstests
Testim biedt de mogelijkheid om elke test die een gebruiker maakt te labelen.
Er zijn twee redenen waarom we een test willen labelen:
- Helpt om de reden te achterhalen waarvoor de test in de eerste plaats is gemaakt.
- Helpt om de tests in één keer met hetzelfde label uit te voeren via de CLI-functie.
De manier waarop we labels maken, is door op het 'Label' en selecteer een bestaand label of maak een nieuw label.
7) Gebruikersdocumentatie
Ze bieden gebruikers alle documentatie die ze nodig hebben om de verschillende functies van dit platform te gebruiken.
De meeste antwoorden over het gebruik van dit platform zijn te vinden door op het 'Onderwijzen' tabblad en door de documentatiesite te bezoeken zoals hieronder weergegeven:
Vanwege de bovenstaande redenen helpt Testim.io om het opstellen en uitvoeren van tests echt snel en eenvoudig te maken. Binnen enkele seconden kan een gebruiker de tests opnemen, opnieuw afspelen en opslaan.
Stabiliteit
Testgebruik Dynamische zoekers in plaats van statische id's. Hierdoor zijn de tests stabieler en hoe meer we de tests uitvoeren, hoe slimmer de AI wordt in het zorgen voor meer stabiliteit van de geautomatiseerde tests.
Een gebruiker kan de verschillende locatiestrategie zien die hun AI gebruikt om een element in de IDE te lokaliseren, via de Eigenschappen paneel , voor elk element waarmee we interactie hebben via onze geautomatiseerde tests.
Zoals we kunnen zien, parseert de AI alle DOM-objecten, geeft ze weer in het Eigenschappenvenster samen met de rangschikking van elke locatiestrategie voor dat specifieke element. Op deze manier kan de AI, zelfs als het attribuut van een element verandert, een andere locatiestrategie gebruiken dan de reeds geparseerde lijst met DOM-objecten.
Een gebruiker hoeft zich dus geen zorgen te maken over schilferende tests.
Herbruikbaarheid
Een van de goede praktijken bij het schrijven van geautomatiseerde tests is het maken van herbruikbare componenten die in verschillende delen van onze testsuite kunnen worden gebruikt.
Waarom is dit belangrijk?
Het maken van herbruikbare componenten is belangrijk omdat:
- Het helpt om de leesbaarheid van de geautomatiseerde tests te vergroten.
- Bespaart moeite door niet dezelfde reeks stappen in verschillende delen van de tests te herhalen.
- Eventuele wijzigingen in de herbruikbare stap hoeven slechts op één plaats te worden uitgevoerd en worden weerspiegeld in de tests, in verschillende projecten.
- Maakt de geautomatiseerde tests uitbreidbaar.
Testim helpt om herbruikbaarheid te garanderen door 'Groeperen' en 'Parametrering'.
1) Groepering
Elk aantal gerelateerde stappen kan worden gegroepeerd in één herbruikbare component.
Bijvoorbeeld - De 'Log in' scenario is een van de meest gebruikte stappen in elke toepassing. De manier waarop we een herbruikbare 'Login' -stap kunnen maken, is door de stappen te selecteren die we willen groeperen en vervolgens op te klikken 'Nieuwe groep toevoegen' zoals hieronder weergegeven:
2) Parametrering
Dit platform geeft de mogelijkheid om de applicatie te testen via verschillende invoercombinaties via Parameterisatie.
Dit kan op verschillende manieren worden bereikt.
Een manier om dit te doen is door alle invoerparameters te geven die we nodig hebben om de applicatie te testen in de vorm van een JSON-bestand in de installatiestap (eerste stap van onze tests), zoals hieronder weergegeven:
Uitbreidbaarheid
Deze tool geeft organisaties de flexibiliteit om de functionaliteiten van dit platform uit te breiden met JavaScript en HTML. Op deze manier kan de gebruiker in elke functionaliteit die dit platform niet aankan, zijn eigen code schrijven om een robuust automatiseringsraamwerk te bouwen
Bijvoorbeeld - Stel dat we het willen valideren 'Kies bestemming' knop uit onze vorige voorbeelden.
De manier om dit te doen zou zijn.
- Klik op 'Aangepaste actie toevoegen'.
- Geef de nieuwe stap een naam en klik op 'Bevestigen'.
- Klik op 'PARAMS' en selecteer 'HTML' voor dit voorbeeld.
- Voeg aangepaste code toe.
- De nieuwe stap met Aangepaste code wordt toegevoegd aan de lijst met reeds bestaande stappen.
Onderhoud
Een van de belangrijkste factoren met betrekking tot geautomatiseerde tests is ' Onderhoud
Er wordt veel aandacht besteed aan het onderhouden van de tests dan aan het schrijven van de eigenlijke tests. Dit leidt tot verspilling van kostbare moeite en tijd van de middelen die die tijd liever hadden kunnen besteden aan het testen van de daadwerkelijke applicatie.
Testim helpt op de volgende manieren om de inspanning die nodig is om de geautomatiseerde tests te onderhouden, te minimaliseren:
1) Versiebeheer
Het is op elk moment belangrijk om de logboeken te hebben van de wijzigingen die in een bepaalde test zijn aangebracht. Op deze manier kunnen we altijd terugkeren naar de oudere versie van een test als dat nodig is. Dit platform biedt deze functionaliteit door alle versiegeschiedenis weer te geven door naar het paneel Eigenschappen van de installatiestap te gaan en op te klikken 'Zie oude revisies'
2) Vertakking
In de ' Verschuif het paradigma naar links ”Waar zowel Ontwikkeling als Testen zo vroeg mogelijk in de levenscyclus van softwareontwikkeling parallel moeten starten.
Dit in gedachten houdend, bieden ze de functionaliteit aan de teams om voor elk teamlid afzonderlijke takken te creëren en aan dezelfde projecten en tests te werken. Op deze manier kan niemand de wijzigingen van de andere teamleden overschrijven en kunnen de teams op elk moment aan dezelfde codebasis werken.
U hoeft alleen maar te selecteren 'Vork' om een nieuwe branch aan te maken en u kunt ook schakelen tussen bestaande branches.
Gebruikers hebben de mogelijkheid om hun tests in te plannen. Dit helpt om de tests automatisch op een bepaalde dag en tijd uit te voeren zonder enige handmatige tussenkomst. We kunnen ook op de hoogte worden gebracht via e-mail in geval van fouten.
Probleemoplossen
Als testers besteden we veel tijd aan het oplossen van problemen. Om te helpen bij het oplossen van problemen, biedt dit platform verschillende opties aan de gebruikers om de omvang van het probleem te beperken.
Deze opties zijn:
1) Schermafbeeldingen
De screenshot-functie die wordt uitgelegd in het gedeelte 'Authoring and Execution' helpt de gebruikers te weten wat de basisafbeelding was en wat de daadwerkelijke afbeelding is die is gevonden.
2) Eigenschappenvenster
Het eigenschappenvenster helpt de foutmeldingen vast te leggen en aan de gebruiker weer te geven.
Bijvoorbeeld Wanneer een element niet zichtbaar is en de test mislukt, krijgen we onderstaande foutmelding in het paneel.
3) Testlogboeken
Logboeken zijn een rijke bron van informatie over wat er onder de gebruikersinterface is gebeurd. De tool biedt testlogboeken wanneer de gebruiker de tests uitvoert op ons net of een rooster van een derde partij. De optie is te vinden in het eigenschappenvenster van de installatiestap.
4) Documentatie
Testim heeft veel moeite gedaan om de meeste functies van de tool te documenteren in de gebruikersdocumentatie die te vinden is onder het 'Onderwijzen' tabblad.
Rapporteren
Dit is een van de belangrijkste aspecten van uw tests om inzicht te krijgen in welke tests zijn uitgevoerd, geslaagd, mislukt, duur van de run, welke browsercombinaties enzovoort.
Testim.io biedt 2 soorten rapportagefuncties:
1) Rapportage van suite- en testruns
Wanneer gebruikers klikken op de optie 'Uitvoeren' in het zijmenu, kunnen ze alle suite- en testruns zien met alle vereiste details, zoals hieronder weergegeven. Dit helpt om de zichtbaarheid van de testruns te krijgen en helpt bij het eenvoudiger rapporteren.
2) Bugs rapporteren
We besteden een aanzienlijke hoeveelheid tijd per dag aan het rapporteren van bugs. Dit is een van de meest kritische en tijdrovende onderdelen van testen.
Testim.io helpt de tijd voor het rapporteren van bugs te verkorten en de productiviteit te verhogen door een Chrome-extensie te geven om de bugs snel vast te leggen en te rapporteren. We kunnen screenshots en video's van de bug maken en een daadwerkelijke geautomatiseerde test opnemen met deze extensie. Het integreert met de meeste veelgebruikte bugvolgsystemen.
Na het vastleggen van het defect en klikken op 'Publiceren', het vult automatisch alle vereiste stappen in de bugbeschrijving. Het voegt ook de screenshot, video en de geautomatiseerde tests met het defect toe.
Notitie:Klik op onderstaande afbeelding voor een vergrote weergave)
CI / CD-integratie
Deze tool kan worden geïntegreerd met verschillende CI / CD-systemen zoals Jenkins, Travis CI, Circle CI en andere build-tools. Het kan ook worden geïntegreerd met grids van derden die hun eigen privécloud hosten om tests uit te voeren. Dit alles gebeurt via de CLI (Command Line Interface) die we op het platform bieden.
Klikken op het 'Instellingen' pictogram uit het zijmenu opent de CLI.
Het is vooraf gevuld met de opdrachten die nodig zijn om de tests uit te voeren op CI / CD-systemen, grids van derden of hun grids. We hoeven alleen maar op te klikken 'Kopiëren' en plak de opdracht letterlijk in de buildtool of het raster dat de organisatie gebruikt.
De CLI accepteert ook de andere parameters om specifieke tests uit te voeren, om tests parallel uit te voeren, om de basis-URL en nog veel meer functionaliteiten te overschrijven.
=> Alle parameters die kunnen worden gebruikt, worden hier vermeld in deze gebruikershandleiding
Gevolgtrekking
Kortom, het Testim.io-platform helpt om enkele van de belangrijkste uitdagingen met automatisering te overwinnen, zoals beschreven in de bovenstaande secties. Hiermee kunt u automatisering eenvoudiger en stabieler maken.
Dit platform helpt:
- Niet-technische teamleden om betrokken te raken bij automatisering en solide tests te schrijven.
- Technische teamleden gebruiken complexe programmeerlogica om de functionaliteiten van dit platform uit te breiden.
- Het schrijven en uitvoeren van tests gaat supersnel.
- Tests zijn stabieler met het gebruik van 'Dynamische zoekers'
Over het algemeen is het een platform dat helpt bij verschillende facetten van testautomatisering en ze zijn bezig met het bouwen van meer functionaliteiten om de agile teams en organisaties te helpen samenwerken onder het motto van EEN TEAM en EEN DOEL.
=> U kunt ontdek hier meer over deze tool
Voel je vrij om te vragen of je nog vragen hebt en deel ook je mening in de commentarensectie, want we zouden graag willen weten welke uitdagingen je tegenkomt bij automatisering en hoe je erin geslaagd bent deze op te lossen.
Aanbevolen literatuur
- Hoe u Appium-tests op grote schaal parallel uitvoert
- Integreer in uw IDE om uw Appium-tests uit te voeren
- Maak Appium-tests voor een Android-app
- Uw Appium-tests parallel uitvoeren met Appium Studio voor Eclipse
- Epochs-tests maken met epochs Studio for Eclipse
- Unit-tests schrijven met Spock Framework
- Specflow-rapportage: testrapporten genereren en selectieve tests uitvoeren
- Java-implementatie: creatie en uitvoering van Java JAR-bestand