Tesults - Integration Ihrer automatisierten Tests

Tesults stellt Bibliotheken zur Integration für verschiedene Sprachen zur Verfügung, darunter:

  • Python
  • Node.js / JS
  • Java
  • C#
  • Ruby
  • Go

Es ist auch eine REST-API verfügbar. Zum Hochladen von testgenerierten Daten und Dateien muss eine der Bibliotheken verwendet werden.

Keine Code-Integration

Bei einigen Testframeworks ist die Integration ohne Code mithilfe der verfügbaren testframeworkspezifischen Bibliotheken möglich.

Zu den Test-Frameworks, für deren Integration kein Code erforderlich ist, gehören:

  • pytest
  • Robot
  • Jest
  • Mocha
  • JUnit5
  • Einheit 3

Der Integrationsprozess ist für alle diese Bibliotheken ähnlich.

Plugin installieren

Installieren Sie in Ihrem Testprojekt das entsprechende Tesults-Plugin. Wenn Sie beispielsweise pytest verwenden, erfolgt dies mit‘pip install tesults’ gefolgt von ‘pip install pytest-tesults’. Wenn Sie Mokka verwenden, verwenden Sie‘npm install mocha-tesults-reporter – save’. Den entsprechenden Befehl für Ihr Testframework finden Sie auf der Tesults-Website.

Plugin konfigurieren

Einige Plugins erfordern keine Konfiguration und sind sofort einsatzbereit, andere erfordern einen geringen Konfigurationsaufwand. Im Fall von Pytest ist beispielsweise keine zusätzliche Konfiguration erforderlich und es ist einsatzbereit.

Im Fall von Mokka ist eine kleine Änderung an der erforderlich ‘mocha’ Anruf, speziell der Reporter muss angegeben werden, ‘mocha --reporter mocha-tesults-reporter’. Auf der Tesults-Website finden Sie eine spezifische Konfiguration für das von Ihnen verwendete Framework. Im Allgemeinen handelt es sich bei der Konfiguration jedoch um eine einzeilige oder keine Änderung.

Pass Args

Es ist ein erforderliches Argument erforderlich, um es an das Plugin und andere optionale Argumente zu übergeben. Das erforderliche Argument ist die Bereitstellung des Tesults-Zieltokens. Dieses Token wurde bei der Projekterstellung für das Standardziel auf der vorherigen Lernseite generiert. Sie können ein neues Token erhalten, wenn Sie dieses Token nicht über das Konfigurationsmenü in Tesults haben. Klicken‘Regenerate Target Token’ im Konfigurationsmenü.

Wie Sie das Argument übergeben, hängt von Ihrem Testframework und Plugin ab. Zum Beispiel kann es in pytest im pytest-Aufruf bereitgestellt werden‘pytest --tesults-target token_value’oder mithilfe einer Konfigurationsdatei. Für Mokka ist es ähnlich, es kann im genannten Mokka durchlaufen werden‘mocha * --reporter mocha-tesults-reporter -- tesults-target=token’ oder es kann in einer Konfigurationsdatei übergeben werden.

Das Ziel-Token ist das einzige erforderliche Argument. Es gibt optionale Argumente zum Übergeben von Build-Informationen und zum Hochladen von Dateien. Auf der Tesults-Website finden Sie spezifische Informationen zu Argumenten für Ihr Testframework.

Führen Sie Tests aus

Führen Sie Ihre Tests durch und die Ergebnisse werden nun an Tesults gesendet.

Code-Integration

Wenn Sie ein benutzerdefiniertes Testframework oder ein Testframework verwenden, für das Tesults keine bestimmte Bibliothek oder kein bestimmtes Plugin hat, müssen Sie eines der Sprachframeworks verwenden.

Hier werden wir uns ansehen, was bei der Integration für Python eine Rolle spielt. Andere Sprachen haben sehr ähnliche Integrationsprozesse. Auf der Tesults-Website finden Sie spezifische Details zu Ihrer Programmiersprache. Befolgen Sie jedoch zuerst dieses Tutorial, um sich ein Bild von dem Prozess zu machen.

Bibliothek installieren

Für Python lautet der folgende Befehl:

pip install tesults

Für andere Sprachen ist der Prozess ähnlich, für JS-Test-Frameworks installieren Sie die Bibliothek von npm, für Java können Sie Gradle oder Maven verwenden, für C # werden die Pakete auf NuGet gehostet und Ruby hat sie als Juwel verfügbar.

Bibliothek konfigurieren

Für Python umfasst die Konfiguration nur a require ‘tesults’In jedem Modul möchten Sie die Bibliothek verwenden. Auch hier ist eine ähnliche Konfiguration in anderen Sprachen erforderlich. Auf der Tesults-Website finden Sie die spezifische Konfiguration für Ihre Programmiersprache.

Kartentestdaten

Diesen Schritt können Sie mit den Plugins ohne Code vermeiden. Für die codebasierte Integration müssen Sie Ihre Testdaten den Tesults-Testdaten zuordnen.

Für Python bedeutet dies, dass jedes Testergebnis in ein Python-Wörterbuch umgewandelt wird.

{
   'name': 'Tutorial 1',
   'desc':'Tutorial 1 .',
   'suite': 'Tutorials Point',
   'result': 'fail',
   'reason': 'Assert fail in line 102, tutorialspoint.py',
   'files': ['full-path/log.txt', 'full-path/screencapture.png'],
   '_CustomField': 'Custom field value'
}

Der Name und das Ergebnis sind erforderlich. Alles andere ist optional. Das Ergebnis muss eines von sein‘pass’, ‘fail’oder "unbekannt".

Die Suite ist nützlich, da sie beim Anzeigen von Ergebnissen Testfälle gruppiert und Namenskonflikte vermeidet. Der Grund für fehlgeschlagene Testfälle sollte angegeben werden.

Dateien sind nützlich, um sicherzustellen, dass Protokolle und andere Testdateien gespeichert sind und neben dem Testfall angezeigt werden können, für den sie bestimmt sind.

Sie können auch eine beliebige Anzahl von benutzerdefinierten Feldern haben. Sie müssen mit dem Unterstrich (_) beginnen. Erstellen Sie für jeden Testfall auf diese Weise ein Wörterbuch und speichern Sie es in einem Array.

Ergebnisse hochladen

Zum Hochladen von Ergebnissen bietet jede Bibliothek eine Funktion zum Hochladen von Ergebnissen. Im Fall von Python müssen Sie Folgendes aufrufen:

tesults.results(data)

wo der Datenparameter folgt -

data = {
   ‘target’: ‘token’,
   ‘results’: {
      ‘cases’: [<your test cases>]
   }
}

Das case-Array ist das im obigen Abschnitt erstellte Array.

Bei anderen Programmiersprachen ist der Vorgang mit nur Syntaxänderungen genau der gleiche.

Hilfe

Auf der Tesults-Website können Sie bei Bedarf Hilfe zur Integration anfordern.

Nächste Schritte

Zu diesem Zeitpunkt ist die Integration abgeschlossen und wir können sehen, wie Testergebnisse angezeigt, analysiert und Maßnahmen ergriffen werden.