Frage

Welche Möglichkeiten gibt es, automatisierte Tests für in Java Swing geschriebene GUIs zu erstellen?

Ich würde gerne einige GUIs testen, die mit geschrieben wurden NetBeans Swing GUI Builder, Ideal wäre also etwas, das funktioniert, ohne dass eine besondere Manipulation des zu testenden Codes erforderlich ist.

War es hilfreich?

Lösung

Vor kurzem stieß ich auf FEST, die viel versprechend schien, mit der Ausnahme, dass der Entwickler im Jahr 2012 würde die Entwicklung nicht fortgesetzt werden .

AssertJ ist ein Fork von FEST, die für mich sehr gut funktioniert. Er wird aktiv (zum Zeitpunkt des Schreibens) gehalten, unterstützt Java 8, hat Behauptungen für einige populären Bibliotheken wie Guava und Joda Zeit, und sehr gut dokumentiert ist. Es ist auch frei und offen.

Andere Tipps

Ich bin derzeit mit FEST . Es arbeitet mit JUnit und auch Screenshots von nicht bestandenen Tests nehmen.

Es hat Jagdmethoden Standardkomponente, die für den Namen der Komponente aussehen getestet (die manuell eingerichtet werden müssen), aber Sie können auch die Tester für eine bestimmte Komponente erzeugen, indem sie die Komponente übergeben.

Sie können versuchen, verwenden Gurke und Swinger für funktionelle Abnahmen in einfachem Englisch für Swing-GUI-Anwendungen zu schreiben. Swinger verwendet Netbeans' Jemmy Bibliothek unter der Haube die App zu fahren.

Gurke können Sie Tests wie folgt schreiben:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

Werfen Sie einen Blick auf diese Swinger Video-Demo es in Aktion zu sehen.

Wir erwägen jemmy einige der GUI-Tests zu automatisieren. Sieht vielversprechend aus.

Ich verwende java.awt.Robot. Ist nicht schön ist nicht einfach, aber jedes Mal funktioniert.

Vorteile:

  • Sie haben die Kontrolle
  • Sehr schnell
  • Erstellen Sie Ihre FWK
  • Tragbare
  • Keine externen Abhängigkeiten

Nachteile:

  • Keine schöne GUI zu bauen Test
  • Sie haben die GUI in Ruhe zu lassen, während Sie testen
  • Erstellen Sie Ihre FWK
  • Schwieriger Testcode zu ändern und erstellen Sie Ihr erstes Gurtzeug

Nun, wenn Sie das Budget habe ich für Loadrunner gehen würde. Beste in der Klasse.

(Disclosure: Beziehung zu dem Unternehmen, das LR besitzt, aber ich arbeitete mit LR vor der Beziehung)

Ich habe es nicht persönlich in Anspruch genommen, aber SwingUnit sieht ganz gut aus. Sie können es mit jUnit verwenden, und es ist nicht auf „Lage der Komponenten“ (d x und y-Koordinaten).

Das einzige, was Sie mit dem NetBeans GUI Builder haben zu tun ist, eindeutige Namen für Ihre Komponenten festgelegt.

Wir verwenden QF-Test und sind sehr zufrieden.

UISpec4J ist ziemlich einfach, unbloated und erweiterbar. Sie paßt meine Zwecke besser als FEST.

Sikuli: ein GUI-Tester Screenshots mit http://sikuli.org/

Sie können mit Marathon : „Marathon Integrated Testing Environment, MarathonITE, ist eine kostengünstige, einfach zu bedienende und plattformübergreifende Java / Swing ™ GUI Testautomatisierung Rahmen. Sie MarathonITE des eingebauten Skript-Recorder verwenden können saubere, gut lesbare Testskripte erstellen entweder in Python oder Rubin. Erweiterte Funktionen wie Extrakt-Methode Refactoring, create-datadriven-Tests und ObjectMap- Bearbeitung ermöglicht es Ihnen, wartbar, robust Testsuiten zu schaffen. "

Du könntest es versuchen Erneut testen, Dabei handelt es sich um ein neuartiges Tool, das einen innovativen Ansatz für funktionale Regressionstests umsetzt und ihn mit KI-basierten Affentests kombiniert.Es ist auch dabei, Open Source zu werden ...

Haftungsausschluss:Ich bin einer der Gründer des Unternehmens hinter ReTest.

Für diejenigen mit einem abenteuerlichen Geist, gibt es gooey https://github.com/robertoaflores/Gooey a (sehr einfach und Unterentwicklung) programmatisches Test-Tool für Swing-Anwendungen.

Sie können Benutzer Sikuli oder Automa für Ihre GUI Teil testen, werden diese gut dokumentiert und getestet Werkzeuge

hat nur ein paar schnelle Scans. Squish war die vielversprechendste. Nicht kostenlos obwohl

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top