TestOptimal Plugins

TestOptimal uses plugin architecture to extend capability to interact with target systems and integrate with external test automation framework and tools.

The plugins included in the download bundle includes web app automation, access to REST APIs, desktop UI automation (keyboard/mouse events), image based automation, MQTT message broker service, etc.

These plugins and your custom plugins enable your model to drive various target systems and perform Robotic Proccess Automation (RPA) for process and workflow automation.

Note that most of the plugins are built on or integrated with external drivers. TestOptimal only supports the integration with these external drivers and not the external drivers.

You may also develop your own plugin to extend functionality of TestOptimal or integrate with your proprietary framework/system.

Below are the plugins available:

Plugin javadoc is available HERE.

Plugins must be activated for the model before they can be used through Script Editor.

Other useful tool to interact with AUT:

Agent Plugin

Plugin javadoc

Agent Plugin enables integration with external automation tools and processes through http protocol.

Example remote agent:

Appium Plugin

Plugin javadoc

Appium Plugin is used to test web apps and native apps on mobile devices.


Appium Plugin requires Appium be installed on the computer which the mobile devices will be attached or mobile simulators will be installed.

Additionally, you will need Android Studio/SDK to test Android devices and Apple Xcode to test IOS devices.

MQTT Plugin

Plugin javadoc

MQTT Plugin enables testing of MQTT-based IoT devices.

REST Plugin

Plugin javadoc

REST Plugin enables testing of REST and WebSvc using RestAssured.

Random Plugin

Plugin javadoc

RAND Plugin provides a set of pattern-based random data generation. For example, you can generate random street address, zip code or random number from a random distribution.

Selenium Plugin

Plugin javadoc

Selenium Plugin uses Selenium to perform test automation on your web application with various browsers. The simulated browser (HTMLUNIT) offers much higher performance and more suited for running load testing when you need to simulate hundreds or thousands of users running models simultaneously.

Element Locator

SeqOut Plugin

Plugin javadoc

SeqOut Plugin generates the test sequence from your model script to an HTML webpage, Excel document or text/xml/json files for external automation tools.

Sikuli Plugin

Plugin javadoc

Sikuli Plugin provides a set of MScript functions for interacting with any type of UI Applications. Due to the nature of using image to identify the UI control, the performance will be a little bit slower.

UI Images

Sikuli uses images to identify UI controls. The images must be png.

Image files must be stored in /uimap/ subfolder within the model folder.

WebDriver Plugin

Plugin javadoc

WebDriver Plugin enables testing with products/services implementing WebDriver wire protocol, more info at WebDriver Documentation.

Below is a few examples of such products/services:

XUIA Plugin

Plugin javadoc

XUIA Plugin provides a set of MScript functions for automation using keyboard and mouse.

The automation is accomplished by sending the real keyboard event and mouse movement to AUT. Due to the nature of this type of automation, you must ensure AUT you are automating has the focus just like as if you are testing manually.