Java >> Java Tutorial >  >> Java

Einführung in TestProject

Dieser Blogbeitrag bietet eine Einführung in das TestProject-Framework. Nachdem wir diesen Blogbeitrag fertiggestellt haben, werden wir:

  • Wissen, was TestProject ist.
  • Kann die Schlüsselfunktionen des TestProject-Frameworks identifizieren.
  • Mit der Architektur des TestProject-Frameworks vertraut sind.

Fangen wir an.

Was ist TestProject?

TestProject ist ein Testautomatisierungs-Framework, mit dem wir automatisierte Tests für Web- und mobile Anwendungen erstellen können. Seine Hauptmerkmale sind:

  • Wir können Testfälle mit dem TestProject SDK schreiben oder sie mit einem In-Browser-Recorder aufzeichnen. Beide Optionen ermöglichen es uns, Testfälle für Web- und mobile Anwendungen zu erstellen.
  • Momentan hat das TestProject SDK eine Java API. In Zukunft wird es native APIs für die folgenden Programmiersprachen bereitstellen:C# (.NET Core), Groovy, Javascript und Python.
  • Wir können Tests für Mobilgeräte mit Android- oder iOS-Betriebssystem erstellen.
  • Da das TestProject-Framework Selenium verwendet, unterstützt es alle gängigen Webbrowser.
  • Wir können Windows-, Linux- oder macOS-Betriebssysteme verwenden, wenn wir Tests mit dem TestProject-Framework erstellen und ausführen.
  • Wir können Add-Ons schreiben, indem wir das TestProject SDK verwenden, und sie vom In-Browser-Recorder oder in unseren Testklassen verwenden. Wir können auch nützliche Add-ons mit anderen TestProject-Benutzern oder Teammitgliedern teilen und Add-ons verwenden, die von anderen Mitgliedern der TestProject-Community veröffentlicht wurden.
  • Die Website app.testproject.io ermöglicht es uns, unsere Tests zu verwalten, sie mit unseren Teammitgliedern zu teilen und verschiedene Testberichte zu untersuchen.
  • Die Website app.testproject.io verfügt über eine REST-API, mit der wir unsere Tests in unseren bestehenden Continuous-Integration-Workflow integrieren können.

Als nächstes werden wir uns die Architektur des TestProject-Frameworks genauer ansehen.

Die Architektur des TestProject-Frameworks

Bevor wir die Architektur des TestProject-Frameworks verstehen können, müssen wir einen kurzen Blick auf sein Datenmodell werfen und die Schlüsselkomponenten der TestProject-Plattform identifizieren.

Wie jede nicht-triviale Anwendung hat das TestProject-Framework ein ziemlich komplexes Datenmodell. Glücklicherweise müssen wir im Moment die Beziehung zwischen diesen drei Komponenten verstehen:

  • Ein Projekt ist eine Sammlung von Testfällen.
  • Ein Testfall (auch bekannt als Testklasse) hilft uns sicherzustellen, dass das zu testende System wie erwartet funktioniert. Wenn wir eine Testklasse mit dem TestProject SDK schreiben, muss eine Testklasse immer eine Schnittstelle implementieren, die die Plattform identifiziert, auf der unser Testfall ausgeführt wird. Außerdem sollten wir wissen, dass die Website app.testproject.io Tests als Testpakete darstellt, da ein Testpaket (auch bekannt als JAR-Datei) mehrere Testfälle enthalten kann.
  • Ein Addon ist eine Sammlung von Aktionen, die nützliche Funktionen für Testfälle bereitstellen. Beispielsweise könnte eine Aktion alle Felder eines Formulars löschen oder einen Benutzer bei der getesteten Website anmelden. Unsere Testfälle können unsere eigenen Addons und Addons verwenden, die von anderen Community-Mitgliedern veröffentlicht wurden. Eine Aktionsklasse muss eine Schnittstelle implementieren, die die Zielplattform des Add-ons (Android, iOS oder Web) identifiziert. Diese Schnittstelle wird vom TestProject SDK bereitgestellt.

Die folgende Abbildung veranschaulicht die Beziehung zwischen diesen Elementen:

Die Schlüsselkomponenten der TestProject-Plattform sind:

Zuerst , wenn wir Tests oder Add-Ons mit dem TestProject-Framework schreiben möchten, müssen wir das TestProject SDK verwenden . Es stellt die Infrastruktur bereit, die es uns ermöglicht, automatisierte Tests für Mobil- und Webanwendungen zu schreiben. Da es außerdem die standardmäßigen Selenium- und Appium-APIs unterstützt, müssen wir keine neuen APIs erlernen, wenn wir Tests für Web- oder mobile Anwendungen schreiben möchten.

Zweiter , die app.testproject.io-Website ermöglicht es uns, unsere Projekte, Testfälle und Addons zu verwalten. Wir können neue Projekte erstellen, Testfälle zu unseren Projekten hinzufügen, geplante Jobs erstellen, die unsere Testfälle ausführen, und unsere Testfälle bei Bedarf ausführen. Wir können unsere Addons auch veröffentlichen und sie mit unseren Teammitgliedern oder mit allen Benutzern des TestProject-Frameworks teilen.

Dritter , der TestProject-Agent kann auf jedem Computer ausgeführt werden, solange dessen Betriebssystem vom TestProject-Framework unterstützt wird. Der TestProject-Agent kommuniziert mit der Website app.testproject.io und hat zwei Hauptfunktionen:

  • Es kann Android-, iOS- und Webtests ausführen. Der TestProject-Agent kann alle ausgeführten Tests auf einem echten Mobilgerät, einem Emulator, der ein Mobilgerät emuliert, oder einem echten Webbrowser ausführen.
  • Es gibt uns die Möglichkeit, Testfälle mit einem echten Mobilgerät, einem Emulator oder einem echten Webbrowser aufzuzeichnen. Nachdem wir unsere Testfälle aufgezeichnet haben, können wir die aufgezeichneten Testfälle auf der Website testproject.io veröffentlichen.

Die folgende Abbildung veranschaulicht die Rollen und Verantwortlichkeiten dieser Komponenten:

Wir können jetzt die Hauptmerkmale des TestProject-Frameworks identifizieren und sind mit seiner Architektur vertraut. Fassen wir zusammen, was wir aus diesem Blogbeitrag gelernt haben.

Zusammenfassung

Dieser Blogpost hat uns sechs Dinge beigebracht:

  • TestProject ist ein Testautomatisierungs-Framework, mit dem wir automatisierte Tests für Web- und mobile Anwendungen erstellen können.
  • Das TestProject-Framework unterstützt die gängigsten mobilen Betriebssysteme (Android und iOS) und alle gängigen Webbrowser.
  • Wir können Testfälle mit dem TestProject SDK schreiben oder sie mit einem In-Browser-Recorder aufzeichnen.
  • Nachdem wir unsere Tests auf der Website app.testproject.io veröffentlicht haben, können alle Mitglieder unserer Organisation sie ausführen. Dies erleichtert die Zusammenarbeit mit Menschen, die an unterschiedlichen geografischen Orten leben.
  • Wir können nützliche Addons mit anderen Benutzern des TestProject-Frameworks teilen und von ihnen veröffentlichte Addons verwenden.
  • Wir können unsere Tests in unseren bestehenden Continuous-Integration-Workflow integrieren, indem wir die REST-API verwenden, die von der Website app.testproject.io bereitgestellt wird.

Java-Tag