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 a Project

In MarathonITE, a project holds all the testing project resources. Let us start by creating a new project for the SwingSet3 application.

If you have MarathonITE running, quit it. And start marathonite without any arguments.

Project Selection Dialog

MarathonITE displays a project selection dialog. The project selection dialog allows you to create, modify projects. From the project selection, click on the New and from the displayed options select Java/Swing Project.

MarathonITE opens up a new project dialog.

Configuring the Project

MarathonITE project configuration is provided in 3 sections which are displayed as tabs in the dialog. Generic information regarding the project is given in the Project tab, the default fixture configuration is provided in the Application tab and script language settings in the Language tab.

Project Tab

Project Tab

In the project tab, provide the name of the project and use the Browse button to select an empty folder to save the project. Optionally you can provide Description. We shall leave the pattern fields as empty for this tutorial.

Click on the Application tab.

Application Tab

MarathonITE borrows the concept of Fixtures from xUnit family of testing frameworks. A fixture defines how an application is launched from MarathonITE and also provides setup and teardown methods that are executed at the beginning and end of a test script respectively. A MarathonITE project can have more than one fixture. The application tab is used to create a default fixture.

Application tab allows you to select a launcher and appropriate information required for the launcher. For this example, we will use Java Command Line Launcher.

From the launcher combobox, select Java Command Line Launcher. You will be presented with two tabs - Main and Class Path.

Application Tab - Java Command Line - Main

When Java command line launcher is used, MarathonITE constructs a java command line in the following form and executes it.

We need to provide all the information required to construct the command to MarathonITE. In the Main tab, provide the class name com.sun.swingset3.SwingSet3 - which is the main class used to launch SwingSet3 application. You can optionally enter Program Arguments and VM Arguments in the fields. If your application needs to start from a specific directory, you can specify Working Directory by clicking on Browse and selecting a folder. Though MarathonITE needs Java 1.8+ to work, your application can still use a different version of Java. You can use the Java Home field to specify that. For this tutorial, enter -Xmx512m in the VM Arguments and leave rest of the fields empty.

Click on the Class Path tab.

Application Tab - Class Path

Use the Add Archives button to add SwingSet3.jar and all other JAR files in the swingset3/lib folder. You can also use Add Folders option and add different folders to the class path, though it is not required in this case.

Now select Language Tab.

Language Tab

Language Tab

Language tab allows you to select the scripting language and customize the language runtime used in MarathonITE scripts. At this time MarathonITE supports Ruby and we intend to support other languages. For this example, there is nothing we need to customize in this tab.

Testing the Configuration

You can test the configuration and check for any errors by using the Test option. When you select the option, MarathonITE uses the given configuration to launch the application.

Testing Project Configuration

If everything is fine, your application should launch. Once MarathonITE is able to connect to the application - a window is shown. The window shows the standard output and error from the command - you can see any errors if the application is not launched.

Click on the Close button. This should close the application.

Saving the Project

Click on the Save button to save the project. MarathonITE will close the project configuration window and you are presented with the project selection dialog with the newly created project already select.

Project Selection Dialog with New Project Selected

Click on the Select button to start MarathonITE with the new project.

Suggest Edit
Close Menu