1. Preface
    1. About MarathonITE
    2. Supported Platforms
      1. Java/Swing™
      2. Java/FX™
      3. Web Applications
    3. What's New in MarathonITE 5.0
    4. Change Log a.k.a Version History
    5. System Requirements
    6. Copyright Notice
  2. Getting Started
    1. Introduction to Test Automation
      1. Unattended Testing
      2. Semi Automated Testing
      3. Exploratory Testing
    2. MarathonITE Projects
    3. Your First Project
      1. Java/Swing™ Test Project
        1. Application Under Test - SwingSet3
        2. Creating a Project
        3. Recording a Test
        4. Anatomy of a Test Script
        5. Running Tests
        6. Looking at Results
      2. Java/FX™ Test Project
        1. Application Under Test - Ensemble
        2. Creating a Project
        3. Recording a Test
        4. Anatomy of a Test Script
        5. Running Tests
        6. Looking at Results
      3. Web Application Test Project
        1. Application Under Test - DuckDuckGo Search
        2. Creating a Project
        3. Recording a Test
        4. Anatomy of a Test Script
        5. Running Tests
        6. Looking at Results
    4. MarathonITE Sample Projects
  3. User Guide
    1. Installation and Startup
    2. MarathonITE User Interface
      2. Editors
      3. Output Views
    3. Creating Marathonite Test Projects
    4. Recording Tests
    5. Managing Checklists
    6. Exploratory Tests
    7. Semi Automated Tests
    8. Executing Tests
      1. Executing a Test from Editor
        1. Debugging Scripts
        2. Using Script Console
      2. Executing Tests from Test Runner
      3. Executing Tests in Batch Mode
    9. Organizing Tests
      1. Organizing Tests in Folder Heirarchy
      2. Organizing Tests as Features and Stories
      3. Organizing Tests in Suites
      4. Linking Tests to TMS and Issue Manager
    10. Modularizing Test Scripts
      1. Module Methods
      2. Extract Method Refactoring
      3. Using Data Loops
      4. Convert to Data Loop Refactoring
    11. Data Driven Tests
      1. Convert to DDT Refactoring
  4. Advanced Scripting
    1. Ruby Programming Language
    2. Marathon and Ruby
    3. Selenium/WebDriver Bindings
      1. Java/Swing™ Components
      2. Java/FX™ Controls

1.4.Change Log

With MarathonITE 5.0, we also changed our release process. Due to these changes, we are able to release more often. What earlier used to be bug-fixes and enhancements for specific customers are available for all in short span of time. That also means that we have releases with even small changes.

Marathon Version (7th April 2017)

1. fix: Regression – processing of ruby stacktrace

Marathon Version (March 31 2017)

1. feat: Added extras – Unit::Test wrapper

2. feat: Added extras – RSpec Wrapper and converter

3. fix: setting w3c property for second launch.

4. chore: Added gem, irb script files.

5. fix: save_screenshot takes a full screen capture instead of top level


6. fix: Showing a warning not to select no launcher for application type when

creating a project.

7. fix: after insert script wsconnection called.

8. feat: Added selected-tab pseudo class to JTabbedPane

9. feat: Added tab-component pseudo class to JTabbedPaneTab

10. fix: creating empty fixture file.

11. fix: new editor open when omap file is deleted.

Marathon Version (March 10 2017)

1. feat: Added demo mode. Pass -demo option for batch mode.

2. feat: Added set_component_wait_ms. Sets the component wait time

and updated driver.implicit_wait if supported

3. fix: (FX) getText based on index, row and column for composite node.

4. fix: (FX) passing null point to RFXComponents.

Marathon Version (March 7 2017)

1. fix: with_window() recording only title. Added support for name.

2. feat: Marathon extensions support fixed. Now a class can be named

ending with MarathonExtension instead of name being MarathonExtension.

3. fix: asserting collection without get and map.

4. fix: tabpane recording the same tab selected previously.

5. fix: invisible node are being returned by css

6. feat: Added a Bare launcher, a fixture that doesn’t start a AUT

Marathon Version (March 1 2017)

1. fix: Invisible components are being returned by CSS (Swing)

2. fix: Accessing Collections (without a get) and Map (Swing)

3. chore: Changed default theme to marathon

4. fix: Unix shell script(?)

Marathon Version (February 28 2017)

1. fix: focusedWindow being called with a container = null

2. feat: reuse fixture for web application.

3. feat: to record and playback Java/AWT FileDialog window.

4. feat: Creating driver service in their respective web driver proxy

class, so that driverservice is not executed multiple times.

5. fix: Ruby runtime engine loading multiple times in some cases

where it is not needed.

6. fix: encoding property while assertion to avoid invalid URI


7. fix: assertion of element from an array – recording improper.

8. fix: show failures in test runner.

9. fix: Changing console code page to 65001 (UTF8)

10. fix: caret position change when file is saved.

11. fix: Updating editor name which is not set to current editor.

11. fix: Rename not changing editor name

12. fix: scriptconsole wasn’t waiting till the command is


13. feat: iconify screencapture. When using screencapture, the

window is iconified so that it doesn’t overlap the captured


14. fix: JavaFXColoPicker firing action event after set the value.

15. fix: while editing file name, text field’s text was not proper in navigator view.

16. fix: application modality to script console

17. fix: tagname while recording htmleditor.

18. fix: Changing only the case of a filename not working on

Mac/Windows where file names are not case sensitive.

19. fix: name, description, seveity and id inside double quotes in test file.

20. feat: Added info menu to testscripts

21. fix: unable to access properties accessible by V3

Not setting accessible flag in EventQueueWait#call doesn’t allow accessing

objects of anonymouse class objects.

22. fix: setting window state for restoring when relaunched.

23. feat: Added UserLibs and MARATHON_EXTRA_JARS to marathonite scripts.

24. feat: Support for raw recording keystrokes

25. fix: z-index for PopupWindow set to max. value

26. feat: run test scripts of web applications using grid.

27. fix: ObjectMap editor removing wrong property from the file.

28. fix: object map updated after clean up.

29. fix: Ignore untrusted events

Marathon Version 5.0 (December 15 2016)

1. feat: Added support for Web applications

2. feat: Updated UI with Java/FX

3. feat: Added support for grouping tests using features, stories etc.

4. feat: Added views and editors for features, stories etc.

Marathon Version (September 12 2016)

1. Fixed: indexOfType() using type, but URP recorded using tag-name.

2. Fixed: getTitle() returns first available label text if title is empty.

Marathon Version (June 30 2016)

1. Fixed: execute_script printing the output instead of returning.

2. Chore: get_title returns nil if there is no focused window.

Marathon Version (Apr 11 2016)

1. Single application to support both Java/Swing and Java/FX.

2. Added execute_script method.

execute_script takes a list of strings and executes the command

on the VM executing the AUT.

3. Added example Marathon projects.

For Swing we use SwingSet3 and FX we use Ensemble.

4. Updated getTitle() to return the currently focused window title.

5. Support for reloading ruby if a module changes

When a module or a fixture file changes, Ruby interpreter is reloaded

so that the changes are visible.

5. Error message for non-editable tree nodes.

When a select() is called on a non-editable tree node, a proper error

message is shown.

6. Added select-by-properties to JTabbedPane.

With this you can get a tab using get_component(<tabbedpane>, <tabname>)

7. Using sendKeys() on text#select call.

8. Ctrl+C is being sent as Ctrl+Shift+C

9. Show relative file name in window title.

10. Expand treepath for selected node.

When a treenode is selected, we expand the node also.

11. Send keytyped events for SPACE/ENTER

12. Using differnt D&D Copy key on windows.

13. Using UTF8 for compiling Java sources.

14. execute_script – toString() on return value

driver.execute_script was returning null when the return value is not one of

the known data types. We do a Object#toString() on it now.

15. Selecting first row in tableView. (FX)

We were using selectIndices() which considers 0 as invalid value.

16. fix: Using UTF8 for compiling Java sources.

Some of the test helper methods use UTF8 characters and do not compile

when the encoding is not set.

MarathonITE Version (Apr 11 2016)

1. Added support for JavaFX

2. You require JDK7 to run MarathonITE

3. Fixed issue related to choosing folder for Java Home.

4. FX uses a different omap configuration.

5. Added focus events before actions on a component

6. Added marathon.logevents property and logging of events

7. Invalid x,w,y,h values for display window defaults to full screen

MarathonITE Version (Feb 17 2016)

1. Adding support for missing methods in playback.rb

drag, drag_and_drop, assert_true, assert_false, fail, error, get_named_components, get_component_names

file_equals, image_compare, get_window, get_window_object, get_p, get_po

2. Fixed: JListJavaElement: added select-by-properties

3. Fixed: Setting the DnDKey depending on the platform.

4. Added log for exceptions

5. Fixed NPE in agent

6. Fixed: inserting module method not executing the method content

7. Fixed: Showing only valid module methods while inserting by implementing topWindowId to recording server and client.

8. Added application plugin to marathonite-lic-tools

9. Removed exit when ‘<‘ characters are found in license.txt while generating license.

MarathonITE Version (Feb 2 2016)

Suggest Edit