Testing JavaSwing Applications

GUI Test Automation for Java/Swing™ Applications

Testing JavaSwing Application - Setting up Project

With MarathonITE, you can create automated tests for Java/Swing™ 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. MarathonITE simplifies testing JavaSwing applications. 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 components

While testing JavaSwing applications you can record actions on all standard Swing components with MarathonITE. MarathonITE records semantic actions on Swing components – rather than keystrokes and mouse clicks. For example, MarathonITE records a select call when the focus is moved away from a tree listing all the selected tree nodes.

SwingSet3 Screenshot

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