GUI testing framework for JavaFX 2

馋奶兔 提交于 2019-12-18 12:07:04

问题


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.



来源:https://stackoverflow.com/questions/10599724/gui-testing-framework-for-javafx-2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!