2016-06-10 6 views
1

Ich habe ein Konzept für einen TestNG-Listener entwickelt, der für meine Bedürfnisse von Vorteil wäre.Können Sie einen TestNG-Listener für Ihre eigenen Bedürfnisse erstellen

Ich möchte im Grunde meinen eigenen Listener erstellen, der einen Bericht mit einem HTML-Beispielbericht erstellen wird.

Meine Idee ist, dass der Zuhörer wie alle anderen im XML deklariert wird.

Ich möchte jedoch, dass mein Listener das XML ansieht und betrachtet, wie viele Klassen deklariert sind und wie viele Testklassen ausgeführt werden sollen.

Ich kann dann in meinem Bericht einen Fortschrittsbalken der Anzahl der Testklassen anzeigen, die auch ausgeführt werden sollen, dann wiederum einen Live-Feed des Fortschritts der Testklassen liefern. aktualisieren

wäre ein Beispiel, wenn in meinem XML-I 5 Tests Klassen deklariert habe und im HTML-Bericht zeigt es eine Bar Fortschritt 0 von 5

zeigt, wie sie die Tests ausgeführt werden und die Fortschrittsbalken fertig werden zeigt den Echtzeitfortschritt der ausgeführten Tests an.

Ist diese Idee mit TestNG möglich/möglich? Könnte ich meinen eigenen Listener erstellen, um das zu tun, was ich erreichen möchte?

Alle Artikel/Ratschläge, um mich auf den richtigen Weg zu bringen, wären von Vorteil.

EDIT: Könnte die Frage nicht die bestmögliche Möglichkeit gestellt haben, so dass jede Kritik oder Bearbeitungsvorschläge geschätzt werden.

Antwort

2

Ich sehe nicht, wie es möglich ist, wenn Sie erwarten, dass der Listener den Bericht generiert, da HTML per Definition statisch ist. Und es könnte schwierig sein, Knoten an der richtigen Stelle hinzuzufügen.

Was es möglich sein könnte, ist Ihre , die einen HTTP-Server ausführt und Daten über REST verfügbar macht. Dann haben Sie Ihren HTML-Code mit einigen Javascript Pooling der Rest-Service, um den Fortschritt der Suite Test zu überprüfen.

+0

das ist sehr interessant. Du siehst, das war die einzige Idee, um zu erreichen, was ich will, aber deine Idee scheint äußerst interessant. Gibt es trotzdem eine E-Mail/PM und kannst du mehr erklären? Ich kenne REST nicht? – colin

+0

In der Tat habe ich REST als allgemeines Wort verwendet. Sie brauchen nur einen Weg, um zwischen Ihrem Javascript und Java zu kommunizieren. Der einfachste Weg ist HTTP mit JSON. Wenn Sie eine "state-of-the-art" -Lösung möchten, aber mehr kompilieren, können Sie sich WebSocket ansehen. – juherr

+0

Danke, ich werde Ihre Vorschläge prüfen :) – colin

Verwandte Themen