RCP Testing Tool allows create and execute test cases for Eclipse-based applications with minimal effort. The minimal required configuration of applications under test is as simple as browsing for a folder for binary AUTs or choosing a PDE launch configuration for AUTs from sources. A typical workflow to create a test case which should work in most cases looks like this: capture an application state, record test actions, add assertions. More complex activities including test parameterization, extracting common pieces of functionality into reusable actions, writing test cases manually before UI, and test case debugging are also available. Developers can extend the tool's functionality to add record/replay support of custom widgets and capture/apply support of custom aspects of an application state.
For more details on RCPTT visit http://eclipse.org/rcptt.
- Eclipse Command Language (ECL) – a general-purpose scripting language which is inspired by TCL and Powershell. All statements in ECL are commands with arguments and input/output EMF object pipes. Commands can be connected by pipelines and accept other commands as arguments.
- ECL UI commands – a set of ECL commands for identifying UI elements and performing actions. Current command set supports most of SWT widgets (including a special support for JFace viewers) and GEF/GMF support.
- Contexts Framework – the goal of contexts in test case execution cycle is to make sure that an application under test is in expected initial state, which allows to eleminate a state preparation logic from test code and easily capture/restore an application state. Various context types can be created to represent various aspects of an apllication state. Existing set of contexts includes contexts for workspace, workbench, preferences and launch configurations. For instance, if a test case goal is to check a completion in an editor, then Workspace context can be used to ensure that required resources are present in workspace and Workbench context can open an editor prior a test case execution.
- Verifications Framework – a scope of verifications is to provide a fast way for ensuring a final application state. Comparing to assertion of individual properties of UI elements, verifications work by comparing models representation. Current set of verifications includes verifications for Styled text editors (allowing to assert a whole textual contents of an editor along with all styles), Table/Tree (allowing to assert items with text, style and icons) and Error Log verification.
- Async operations monitor – during test case execution an operations monitor keeps track of all starting jobs, scheduled async display execs and timer execs, to make sure that all effects triggered by UI operations has been finished before an execution of a next operation.
- Test case recorder – automatic recording of ECL commands describing user actions with special rules to avoid recording of unnecessary actions.
- Test case IDE – full-featured IDE for test case development, execution and debugging.