testim io tutorial speed up authoring
In diesem praktischen Tutorial erfahren Sie, wie Sie mit dem Testim-Automatisierungstool in wenigen Minuten stabile Tests erstellen und mithilfe des maschinellen Lernprozesses das Erstellen, Ausführen und Verwalten automatisierter Tests beschleunigen.
Wenn wir den Satz „Automatisierungstool“ hören, sind die wichtigsten Überlegungen, die uns bei unseren Tests in den Sinn kommen:
Fragen und Antworten zum Interview mit SQL Server 2012
- Authoring und Ausführung
- Stabilität
- Wiederverwendbarkeit
- Erweiterbarkeit
- Instandhaltung
- Fehlerbehebung
- Berichterstattung
- CI / CD-Integration
Es gibt viele Tools auf dem Markt, die einen oder wenige der oben genannten Faktoren berücksichtigen, jedoch nicht alle. Hier kommt Testim.io ins Spiel.
Testim.io ist kein Tool, sondern eine Plattform, die fast alle Hauptfaktoren wie Authoring & Execution, Wartung, Fehlerbehebung, Berichterstellung usw. von automatisierten Tests umfasst. Mit der Einführung in das Konzept der dynamischen Locators konzentrieren sie sich auf wenige Testtypen wie Funktionstests, End-to-End-Tests und UI-Tests.
Es erhöht die Erweiterbarkeit und Stabilität Ihrer Testsuiten. Außerdem erhalten die Teams und Organisationen die Flexibilität, die Funktionen der Plattform mithilfe komplexer Programmierlogik mit JavaScript und HTML zu erweitern.
Hier finden Sie einen detaillierten Einblick in Testim.io und wie Sie einige der Herausforderungen bewältigen können, denen sich Kunden während der Automatisierung gegenübersehen.
Was du lernen wirst:
- Wie unterscheidet sich dieses Tool von anderen Tools?
- Testim.io ist eine Plattform und weder eine Aufzeichnung noch ein Wiedergabetool
- Adressierung der Schlüsselfaktoren
- Fazit
- Literatur-Empfehlungen
Wie unterscheidet sich dieses Tool von anderen Tools?
Um zu verstehen, wie sich Testim von den anderen Tools unterscheidet, werfen wir einen Schritt zurück auf die Entwicklung der Automatisierungstools im letzten Jahrzehnt.
In den letzten 10 Jahren gab es mehrere Anbieter- und Open-Source-Tools, die versuchten, die verschiedenen Probleme im Zusammenhang mit automatisierten Tests zu lösen. Ein großes Problem, das bisher noch niemand angesprochen hat, ist die Verwendung statischer IDs.
Zum Beispiel , Angenommen, ein Entwickler ändert den ID-Namen oder ein Attribut eines Elements auf der Webseite. Die automatisierten Tests werden aufgrund dieser Änderung sofort unterbrochen, da sie sich immer noch auf den alten ID-Namen beziehen. Dies führt zu instabilen Tests und die Tester müssen viel Zeit für deren Wartung aufwenden.
Sie führten das Konzept von ein Dynamische Locators . Die künstliche Intelligenz (KI) unter der Plattform analysiert in Echtzeit alle DOM-Objekte einer Seite und extrahiert die Objekte und ihre Eigenschaften.
Schließlich entscheidet die KI basierend auf dieser Analyse die beste Standortstrategie, um ein bestimmtes Element zu lokalisieren.
Selbst wenn ein Entwickler das Attribut eines Elements ändert, wird der Test daher weiterhin ausgeführt, und dies führt zu stabileren Tests. Infolgedessen sind das Erstellen und Ausführen automatisierter Tests viel schneller und stabiler.
Testim.io ist eine Plattform und weder eine Aufzeichnung noch ein Wiedergabetool
Erstens ist dies kein Werkzeug, sondern eine Plattform.
Es verfügt über robuste Funktionen, die nicht nur zur Automatisierung Ihrer Tests beitragen, sondern sich auch um die anderen wichtigen Aspekte Ihrer Tests kümmern, z. B. die lokale und in der Cloud durchgeführte Ausführung Ihrer Tests (deren privates Grid oder Drittanbieter-Grid) und die Integration in CI / CD Systeme, die Protokolle und Screenshots von Testläufen erfassen und detaillierte Berichte über die Testläufe mit Grafiken, Statistiken und anderen verwandten Informationen liefern.
Und schließlich wird die Erfassung und Meldung von Fehlern durch die Integration in die weit verbreiteten Tools zur Fehlerverfolgung sehr einfach.
Zweitens erhalten die Organisationen und Teams die Flexibilität, mithilfe komplexer Programmierlogik mit JavaScript und HTML ihre eigenen Wrapper um die Plattform herum zu erstellen. Auf diese Weise kann jeder die Funktionalität der Plattform erweitern.
Schließlich richtet sich die Plattform nach dem aus Paradigma der Verschiebung nach links Hier können Entwickler und Tester von Anfang an mit dem Schreiben der Tests beginnen, indem sie an verschiedenen Zweigen arbeiten, ohne die Änderungen des anderen zu überschreiben. Es hilft den Teams auch bei der Zusammenarbeit und bietet jedem die Flexibilität, über seine integrierten Funktionen automatisierte Tests zu schreiben.
Auf diese Weise kann auch ein nicht technisches Teammitglied wertvolle Beiträge zu Ihren automatisierten Tests leisten. Die Plattform hilft dabei, das Konzept zu vermitteln, dass Automatisierte Tests sollten einfach, effektiv, stabil und kollaborativ sein.
Adressierung der Schlüsselfaktoren
Wie geht Testim mit den Schlüsselfaktoren um, die für automatisierte Tests von entscheidender Bedeutung sind?
Authoring und Ausführung
Automatisierte Tests müssen einfach zu erstellen und von überall und zu jeder Zeit auszuführen sein.
Testim hilft dabei auf folgende Weise:
1) Erstellen eines Tests
Wir erstellen einen neuen Test, indem wir auf klicken 'Neu erstellen' oder 'Neuer Test' .
2) Aufzeichnen und Wiedergeben eines Tests
Sobald wir auf klicken 'Aufzeichnung' Schaltfläche können wir verschiedene Benutzeraktionen in unserer Anwendung aufzeichnen.
Klicken Sie nach dem Aufzeichnen der verschiedenen Aktionen auf 'Höre auf, aufzunehmen' Klicken Sie auf die Schaltfläche, um die Aufzeichnung unserer Tests abzuschließen. Verwenden Sie die 'Abspielen' Taste, um den aufgezeichneten Test und die 'Speichern' Schaltfläche zum Speichern der Tests.
3) Validierungen und Behauptungen
Diese Plattform hilft bei der Validierung verschiedener Attribute eines Elements und wirklich einfacher APIs.
Verschiedene Optionen für Benutzer wie:
- Hinzufügen benutzerdefinierter Validierungen mit JavaScript und HTML
- Überprüfen Sie die Sichtbarkeit der Elemente
- Überprüfen Sie den Elementtext
- Validierung auf Pixelebene
- Validierung auf API-Ebene
4) Screenshots
Während jeder Test aufgezeichnet wird, erstellt die Plattform einen Screenshot aller bestandenen und nicht bestandenen Ergebnisse jedes einzelnen Schritts. Infolgedessen fällt es den Benutzern leichter, die Probleme zu beheben und zu verstehen, was unter der Haube passiert.
Zum Beispiel , Im folgenden Screenshot werden wir feststellen, dass die Attribute der 'Ziel aussuchen' Die Schaltfläche wurde geändert, aber der Test wurde weiterhin ausgeführt, da das Tool AI verwendet wurde Dynamische Locators . Auch die Funktionalität des Systems hat sich nicht geändert, sondern nur das Attribut eines Elements.
Wir erhalten auch einen Screenshot davon, was genau während der Ausführung des Tests passiert ist, indem wir das erwartete Bild (Grundlinie) und das tatsächliche Bild anzeigen.
(Hinweis:Klicken Sie auf das Bild unten für eine vergrößerte Ansicht.
5) Feedback zu jedem Schritt
Der Benutzer erhält auch die Rückmeldung zu jedem Schritt, ob die Tests bestanden oder nicht bestanden wurden, indem er a anzeigt 'Grün' oder 'Rotes Symbol' im oberen linken Teil jedes Schritts wie unten gezeigt:
6) Kennzeichnungstests
Testim bietet die Funktion, jeden Test, den ein Benutzer erstellt, zu kennzeichnen.
Es gibt zwei Gründe, aus denen wir einen Test kennzeichnen möchten:
- Hilft bei der Identifizierung des Grundes, aus dem der Test überhaupt erstellt wurde.
- Hilft, die Tests über die CLI-Funktion gleichzeitig mit demselben Label auszuführen.
Die Art und Weise, wie wir Etiketten erstellen, ist durch Klicken auf 'Etikette' Klicken Sie auf die Schaltfläche und wählen Sie entweder ein vorhandenes Etikett aus oder erstellen Sie ein neues.
7) Benutzerdokumentation
Sie stellen den Benutzern die gesamte Dokumentation zur Verfügung, die sie benötigen, um die verschiedenen Funktionen dieser Plattform nutzen zu können.
Die meisten Antworten zur Nutzung dieser Plattform finden Sie, indem Sie auf klicken 'Erziehen' Registerkarte und durch Besuch der Dokumentationsseite wie unten gezeigt:
Aus den oben genannten Gründen hilft Testim.io dabei, das Erstellen und Ausführen von Tests sehr schnell und einfach zu gestalten. Innerhalb von Sekunden kann ein Benutzer die Tests aufzeichnen, wiedergeben und speichern.
Stabilität
Testanwendungen Dynamische Locators anstelle von statischen IDs. Aus diesem Grund sind die Tests stabiler und je mehr wir die Tests durchführen, desto intelligenter wird die KI, um mehr Stabilität für die automatisierten Tests zu gewährleisten.
Ein Benutzer kann die unterschiedliche Standortstrategie sehen, die seine KI verwendet, um ein Element in der IDE über das zu lokalisieren Eigenschaftenfenster für jedes Element, mit dem wir über unsere automatisierten Tests interagieren.
Wie wir feststellen können, analysiert die KI alle DOM-Objekte und listet sie im Eigenschaftenfenster zusammen mit den Rangfolgen jeder einzelnen Standortstrategie für dieses bestimmte Element auf. Auf diese Weise kann die KI, selbst wenn sich das Attribut eines Elements ändert, eine andere Standortstrategie als die bereits analysierte Liste der DOM-Objekte verwenden.
Somit muss sich ein Benutzer nicht um schuppige Tests kümmern.
Wiederverwendbarkeit
Eine der bewährten Methoden zum Schreiben automatisierter Tests besteht darin, wiederverwendbare Komponenten zu erstellen, die in verschiedenen Teilen unserer Testsuite verwendet werden können.
Warum ist das wichtig?
Das Erstellen wiederverwendbarer Komponenten ist wichtig, weil:
- Es hilft, die Lesbarkeit der automatisierten Tests zu verbessern.
- Spart Aufwand, indem nicht die gleichen Schritte in verschiedenen Teilen der Tests wiederholt werden.
- Änderungen am wiederverwendbaren Schritt müssen nur an einer Stelle vorgenommen werden und werden in den Tests in verschiedenen Projekten berücksichtigt.
- Macht die automatisierten Tests erweiterbarer.
Testim hilft, die Wiederverwendbarkeit durch sicherzustellen 'Gruppierung' und 'Parametrierung'.
1) Gruppierung
Es können beliebig viele verwandte Schritte zu einer wiederverwendbaren Komponente zusammengefasst werden.
Zum Beispiel - Das 'Anmeldung' Szenario ist einer der am häufigsten verwendeten Schritte in einer Anwendung. Die Art und Weise, wie wir einen wiederverwendbaren 'Anmeldeschritt' erstellen können, besteht darin, die Schritte auszuwählen, die wir gruppieren möchten, und dann auf zu klicken 'Neue Gruppe hinzufügen' Wie nachfolgend dargestellt:
2) Parametrierung
Diese Plattform bietet die Möglichkeit, die Anwendung durch verschiedene Eingabekombinationen über die Parametrisierung zu testen.
Dies kann auf verschiedene Arten erreicht werden.
Eine Möglichkeit, dies zu tun, besteht darin, alle Eingabeparameter, die wir zum Testen der Anwendung benötigen würden, in Form einer JSON-Datei im Setup-Schritt (erster Schritt unserer Tests) anzugeben, wie unten gezeigt:
Erweiterbarkeit
Dieses Tool bietet Unternehmen die Flexibilität, die Funktionen dieser Plattform mithilfe von JavaScript und HTML zu erweitern. Auf diese Weise kann der Benutzer in allen Funktionen, die diese Plattform nicht unterstützt, seinen eigenen Code schreiben, um ein robustes Automatisierungsframework zu erstellen
Zum Beispiel - Sagen wir, wir wollen das validieren 'Ziel aussuchen' Schaltfläche aus unseren vorherigen Beispielen.
Der Weg dazu wäre.
- Klicke auf 'Benutzerdefinierte Aktion hinzufügen'.
- Geben Sie dem neuen Schritt einen Namen und klicken Sie auf 'Bestätigen'.
- Klicken Sie auf 'PARAMS' und wählen Sie 'HTML' für dieses Beispiel.
- Benutzerdefinierten Code hinzufügen.
- Der neue Schritt mit Benutzerdefinierter Code wird zur Liste der bereits vorhandenen Schritte hinzugefügt.
Instandhaltung
Einer der wichtigsten Faktoren im Zusammenhang mit automatisierten Tests ist „ Instandhaltung ”.
Es wird viel Aufwand betrieben, um die Tests aufrechtzuerhalten, als die eigentlichen Tests zu schreiben. Dies führt zu einer Verschwendung von wertvollem Aufwand und Zeit durch die Ressourcen, die diese Zeit eher für das Testen der tatsächlichen Anwendung hätten verwenden können.
Testim hilft dabei, den Aufwand für die Wartung der automatisierten Tests auf folgende Weise zu minimieren:
1) Versionskontrolle
Zu jedem Zeitpunkt ist es wichtig, die Protokolle darüber zu haben, welche Änderungen an einem bestimmten Test vorgenommen wurden. Auf diese Weise können wir bei Bedarf jederzeit zur älteren Version eines Tests zurückkehren. Diese Plattform bietet diese Funktionalität, indem sie den gesamten Versionsverlauf anzeigt, indem Sie im Eigenschaftenfenster des Setup-Schritts auf klicken 'Siehe alte Revisionen' .
2) Verzweigung
In dem ' Paradigma nach links verschieben „Wo sowohl Entwicklung als auch Test so früh wie möglich im Softwareentwicklungszyklus parallel beginnen müssen.
Vor diesem Hintergrund bietet das Team den Teams die Möglichkeit, separate Zweige für jedes Teammitglied zu erstellen und an denselben Projekten und Tests zu arbeiten. Auf diese Weise kann niemand die Änderungen der anderen Teammitglieder überschreiben und die Teams können jederzeit an derselben Codebasis arbeiten.
Sie müssen nur auswählen 'Gabel' Um einen neuen Zweig zu erstellen, können Sie auch zwischen vorhandenen Zweigen wechseln.
Benutzer haben die Möglichkeit, ihre Tests zu planen. Dies hilft, die Tests an einem bestimmten Tag und zu einer bestimmten Uhrzeit automatisch durchzuführen, ohne dass manuelle Eingriffe erforderlich sind. Bei Fehlern können wir uns auch per E-Mail benachrichtigen lassen.
Fehlerbehebung
Als Tester verbringen wir viel Zeit mit der Behebung der Probleme. Um die Fehlerbehebung zu erleichtern, bietet diese Plattform den Benutzern verschiedene Optionen, um den Umfang des Problems einzugrenzen.
Diese Optionen umfassen:
1) Screenshots
Die im Abschnitt „Authoring and Execution“ erläuterte Screenshot-Funktion hilft den Benutzern zu erkennen, was das Basisbild war und welches das tatsächlich gefundene Bild ist.
2) Eigenschaftenfenster
Das Eigenschaftenfenster hilft dabei, die Fehlermeldungen zu erfassen und dem Benutzer anzuzeigen.
Zum Beispiel, Wenn ein Element nicht sichtbar ist und der Test fehlschlägt, wird im Bedienfeld die folgende Fehlermeldung angezeigt.
3) Testprotokolle
Protokolle sind eine umfangreiche Informationsquelle darüber, was unter der Benutzeroberfläche passiert ist. Das Tool stellt Testprotokolle bereit, wenn der Benutzer die Tests in unserem Grid oder einem Grid eines Drittanbieters ausführt. Die Option finden Sie im Eigenschaftenfenster des Einrichtungsschritts.
4) Dokumentation
Testim hat große Anstrengungen unternommen, um die meisten Funktionen des Tools in der Benutzerdokumentation unter zu dokumentieren 'Erziehen' Tab.
Berichterstattung
Dies ist einer der wichtigsten Aspekte Ihrer Tests, um zu sehen, welche Tests ausgeführt, bestanden, fehlgeschlagen, wie lange sie ausgeführt werden, welche Browserkombinationen usw.
Testim.io bietet zwei Arten der Berichtsfunktion:
1) Berichterstattung über Suite- und Testläufe
Wenn Benutzer im Seitenmenü auf die Option 'Läufe' klicken, können sie alle Suite- und Testläufe mit allen erforderlichen Details anzeigen, wie unten gezeigt. Dies hilft, die Sichtbarkeit der Testläufe zu verbessern und die Berichterstellung zu vereinfachen.
2) Fehler melden
Wir verbringen viel Zeit an einem Tag damit, Fehler zu melden. Dies ist einer der kritischsten und zeitaufwändigsten Teile des Testens.
Testim.io hilft, die Fehlerberichterstattungszeit zu verkürzen und die Produktivität zu steigern, indem eine Chrome-Erweiterung bereitgestellt wird, mit der die Fehler schnell erfasst und gemeldet werden können. Mit dieser Erweiterung können wir Screenshots und Videos des Fehlers aufnehmen und einen tatsächlichen automatisierten Test aufzeichnen. Es lässt sich in die meisten weit verbreiteten Bug-Tracking-Systeme integrieren.
Nach dem Erfassen des Defekts und Klicken auf 'Veröffentlichen', Es werden automatisch alle erforderlichen Schritte in der Fehlerbeschreibung ausgefüllt. Außerdem werden der Screenshot, das Video und die automatisierten Tests mit dem Fehler hinzugefügt.
(Hinweis:Klicken Sie auf das Bild unten für eine vergrößerte Ansicht.
CI / CD-Integration
Dieses Tool lässt sich in verschiedene CI / CD-Systeme wie Jenkins, Travis CI, Circle CI und andere Build-Tools integrieren. Es lässt sich auch in Grids von Drittanbietern integrieren, die ihre eigene private Cloud hosten, um Tests durchzuführen. All dies erfolgt über die CLI (Command Line Interface), die wir auf der Plattform bereitstellen.
Klicken Sie auf die 'Die Einstellungen' Das Symbol aus dem Seitenmenü öffnet die CLI.
Es ist mit den Befehlen gefüllt, die zum Ausführen der Tests auf CI / CD-Systemen, Grids von Drittanbietern oder deren Grids erforderlich sind. Wir müssen nur auf klicken 'Kopieren' Fügen Sie den Befehl buchstäblich in das Build-Tool oder Raster ein, das die Organisation verwendet.
Die CLI akzeptiert auch die anderen Parameter, um bestimmte Tests auszuführen, Tests parallel auszuführen, die Basis-URL zu überschreiben und viele weitere Funktionen.
=> Alle Parameter, die verwendet werden können, sind hier in aufgelistet diese Bedienungsanleitung .
Fazit
Kurz gesagt, die Testim.io-Plattform hilft dabei, einige der größten Herausforderungen bei der Automatisierung zu bewältigen, wie in den obigen Abschnitten beschrieben. Auf diese Weise können Sie die Automatisierung einfacher und stabiler gestalten.
Diese Plattform wird helfen:
- Nicht-technische Teammitglieder, um sich auf die Automatisierung einzulassen und solide Tests zu schreiben.
- Technische Teammitglieder verwenden komplexe Programmierlogik, um die Funktionen dieser Plattform zu erweitern.
- Das Erstellen und Ausführen von Tests ist sehr schnell.
- Tests sind bei Verwendung von stabiler 'Dynamische Locators' .
Insgesamt handelt es sich um eine Plattform, die in verschiedenen Facetten der Testautomatisierung hilfreich ist und derzeit mehr Funktionen aufbaut, um den agilen Teams und Organisationen die Zusammenarbeit nach dem Motto von zu erleichtern EIN TEAM UND EIN ZIEL.
=> Du kannst Erfahren Sie hier mehr über dieses Tool
Fragen Sie uns gerne, ob Sie Fragen haben, und teilen Sie Ihre Gedanken im Kommentarbereich mit. Wir würden gerne wissen, welchen Herausforderungen Sie bei der Automatisierung gegenüberstehen und wie Sie diese gelöst haben.
Literatur-Empfehlungen
- Ausführen einer parallelen Ausführung von Appium-Tests in großem Maßstab
- Integrieren Sie sich in Ihre IDE, um Ihre Appium-Tests auszuführen
- Erstellen Sie Appium-Tests für eine Android-App
- Paralleles Ausführen Ihrer Appium-Tests mit Appium Studio für Eclipse
- Erstellen von Epochentests mit epochs Studio for Eclipse
- Unit-Tests mit Spock Framework schreiben
- Specflow-Berichterstellung: Generieren von Testberichten und Ausführen selektiver Tests
- Java-Bereitstellung: Erstellung und Ausführung einer Java-JAR-Datei