Testing JavaFX Applications

GUI Test Automation for Java/Fx™ Applications

Testing JavaFX Application - Setting up a Project

With MarathonITE, you can create automated tests for Java/Fx™ applications. MarathonITE simplifies testing JavaFX applications. Whether your application is deployed as a JNLP(WebStart), an executable or a batch file – MarathonITE provides the launchers required to start your application for testing. You can use the data driven tests to run the same script over various combinations of data points. You can use Ruby Gems to access external systems, be they databases or other web services. MarathonITE implements Selenium JSONWire protocol for Java/Swing GUI testing. You can enhance the functionality of your test scripts by directly using Selenium/WebDriver API along with MarathonITE methods.

Support for all standard controls

While testing JavaFX applications, you can record actions on all standard Java/Fx™ controls. MarathonITE records semantic actions on Fx controls – rather than keystrokes and mouse clicks. For example, MarathonITE records a select call when the focus is moved away from a TreeView listing all the selected tree cells.


Launchers for WebStart, Executable etc.

A java application can and is distributed in different ways. MarathonITE includes various launchers to start an application. The launchers include java command line, webstart, command line and executable JAR. Using the appropriate launcher, MarathonITE starts the application in test mode so that all operations on the UI can be recorded or played.

Distribute your automated tests

When the test suite grows in size, you may find it necessary to run the suite on multiple nodes to decrease the test runtime. One of the solutions is to distribute the tests across multiple desktops and execute them parallel. MarathonITE automation provides marathonite-grid, using which the tests can be distributed across multiple nodes, thus reducing the execution time required.

Distributed Tests
Access to External Systems

Access external systems

There will be time when you need to access an external system – be it a file, database or a webservice – in your test scripts. MarathonITE uses regular ruby scripts. You can install additional ruby gems and access them in your test scripts.

Integrate with CI Servers

Most development teams use a CI (Continuous Integration) server for scheduling test execution. MarathonITE test suite can be executed using batch or shell scripts. This functionality can be used to integrate test execution with any system.

MarathonITE also includes a Jenkins plugin to integrate test execution with Jenkins CI.

Jenkins Continuous Integration
Close Menu