Test Automation With MarathonITE
Test automation plays a critical role in this age of agile software development. Test automation helps in successful implementation of continuous delivery and continuous integration. MarathonITE helps you in creating a test suite that can perform regression, smoke and also automated testing. Test Automation is especially useful for those test scenarios that are either costly or cumbersome to execute manually. MarathonITE consists of a recorder that allows you to easily create test scripts. You can play your test scripts through MarathonITE user interface. Alternatively, a batch mode provides facilities to execute tests while unattended.
Semantic Action Recorder
MarathonITE consists of a recorder that allows you to easily create test scripts. Marathon records semantic actions on components rather than the raw actions like mouse clicks or keystrokes. Optionally, you can choose to record raw mouse/keyboard actions by switching the recording into raw mode. During recording, MarathonITE allows you to insert assertions, checklists and reusable module methods. You can also pause the recording or use the script console to access the application for debugging purposes.
- Automated recorder minimises the learning curve. MarathonITE automatically records the actions performed on your application.
- You need not know coding to start recording tests. MarathonITE records scripts in Ruby. The object repository can be maintained through UI screens provided by MarathonITE.
- MarathonITE includes refactoring support for creating reusable modules. You can use extract module refactoring to quickly create reusable script methods.
Clean test setup using Fixtures
For successful test automation, you need to ensure that each test starts with a well known state. MarathonITEuses Fixtures to let you create a well known state from which a test script is started. Using fixtures, you can:
- Execute steps before the application is launched. You can use this, for example, to clean up a database.
- Execute steps before the test script is executed. For example, you can login into the application before each test is executed.
- Create different fixtures to launch the application in different states.
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.
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.