GUI testing framework for JavaFX 2

2020-02-23 08:30发布

问题:

I'm currently reading the book Growing Object-Oriented Software Guided by Tests which gives a decent introduction into test driven development.

One drawback is that the code developed through the book is based on Swing. For my next project I'd like to use Java FX 2 and I'm wondering if there are any GUI testing frameworks out there for it? The book introduces windowlicker, which allows testing Swing applications only.

回答1:

There is a library named JemmyFX. Jemmy itself is a set of libraries and tools to test UI applications (mostly Java-based: Swing, AWT, SWT; but it's being extended to native right now). JemmyFX covers JavaFX for that matter.

JemmyFX can be downloaded as a part of the test branch of OpenJFX 2 (open-sourced part of JavaFX).

For JavaFX 8, the test branch includes support for new controls and other fixes.



回答2:

There's yet another new testing library for JavaFX called TestFX.



回答3:

There's a new test robot called MarvinFX:

MarvinFX has the goal to easily test JavaFX controls and scenes with a special attention on properties.

This other post shows how to use assertions and rules with MarvinFX.



回答4:

Another library (which I have not used or tested) is TestComplete.



回答5:

Automaton is another testing library for JavafX and Swing GUIs born out of the same team that did TestFX

  • easy tests for Swing and JavaFX applications
  • written for testers. Only basic coding skills required.


回答6:

According to Eclipse site, the modern testing tools for JavaFX in the year 2015 are Squish and Jubula . But Squish is commercial. And Jubula is partly free - JavaFX belongs to that free part. And in the Eclipse Mars version already exists the testing distribution. Uses Jubula for UI testing.



回答7:

Jubula is now totally free, and does indeed support JavaFX.