Marathon JavaDriver is part of Marathon/OSS and provides Selenium/WebDriver bindings for automating Java/Swing™ and Java/FX™ applications. Whereas Marathon and MarathonITE are aimed at functional testing, you can use Marathon JavaDriver for unit testing your code. Marathon JavaDriver can also be used to perform functional testing provided you are well versed with Java and have access to source code of the application.
Java Driver Architecture
Marathon JavaDriver is made up of two parts:
- JavaDriver implementation of WebDriver for automating Java applications
The library provides two classes –
net.sourceforge.marathon.javadriver.JavaProfile. You need to provide application launch information and create a JavaProfile, which is then used to construct a JavaDriver. Once the JavaDriver is constructed, you can use WebDriver calls to automate the application.
- Java Agents (one for Swing and another for FX) loaded along with the AUT and implements JSON Wire protocol
When a JavaDriver is constructed, the AUT is launched with the information provided in the JavaProfile object. A small javaagent is attached to the AUT by JavaDriver. The javaagent implements the JSONWireProtocol and is used to communicate with the automating application
Using Marathon JavaDriver
Download Marathon and use the libraries
Marathon JavaDrivers are part of the Marathon (and MarathonITE) distributions. You need to add the following libraries to your class path:
Use the following metadata for adding your dependency:
- Group ID: com.jaliansystems
- Artifact ID: marathon-java-driver
- Version: 188.8.131.52