Open source tools for automation of Java GUI application testing



  • The testing tools (or tools that could be used in testing purposes) for testing Java GUI application I know are:

    • Jemmy - library contains methods to reproduce all user actions which can be performed on Swing/AWT components (i.e. button pushing, text typing, tree node expanding, ...). Could be used with any Java IDE (Eclipse, NetBeans) & automated test framework (JUnit, TestNG) that gives you much freedom (e.g. analyze JVM memory usage).
      N.B.: looks like Jemmy does NOT support Java web-start applications (with downloading of .jnlp file) as it is mentioned in posts testing Java web-start app using Jemmy & how to automate a swing java web-start app, but still it is possible to test this kind of apps with great flexibility so I use this tool now. Testing app does not download & start .jnlp file, but starting script (vbscript) downloads .jar files of AUT (by the same link .jnlp file is downloaded) and testing app uses these files of a new AUT build.
    • Jubula - is an Eclipse based automated functional GUI testing framework for Java and HTML. Uses blocks as association with actions performed during test, developer does not write code just assembling test actions from available building blocks.
    • Sikuli - suits for testing any application (image recognition based) that does not require working with precise text data. The tool has it's limitations (check here), using it to test RDP stuff.
    • Abbot framework - for automated testing of Java GUI components and programs (did not study yet...)

    What else can you suggest? Open source and for Java GUI testing.



  • If the Java GUI application is based on Swing, AssertJ Swing is probably one of the best open source libraries. It's a fork of FEST and has several advantages:

    Moreover, it's actively maintained, offers a comprehensive documentation, supports Java 8, and AssertJ itself has some neat assertions.



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2