Sikuli Cloud Testing


Sikuli uses image recognition to identify components you want to interact with on the screen.
While Selenium is limited to interacting with browsers, Sikuli can be used to interact with native GUI components (for example: Windows dialogs, Linux programs or OS-X GUI).


At TestingBot, all our VMs are able to run your Sikuli scripts.

Every VM on TestingBot is pristine and fully accessible. This means you can interact with the entire OS during your test, unlike other solutions where this is not possible, since they tend to re-use the same VMs for several tests (and several different customers).


1. Download and setup Sikuli


To get started, please Download Sikuli.
Once downloaded, run the file to install Sikuli.

2. Create a new Sikuli script


Sikuli script
Sikuli uses image-recognition to find the components to interact with.
In this example, we'll take a screenshot of a Chrome dialog asking to install a Chrome extension.

3. The Sikuli script


As you can see on the screenshot above, you can use "wait([image], FOREVER)" to have Sikuli wait for something to appear on the screen that looks like the [image].


Once this happens, Sikuli will move on to the next step in the script: clicking the component it detected.

4. Integration with TestingBot


At TestingBot, we can run your Sikuli script at the start of your Selenium WebDriver test.
Simply create a zip-file with one or more of your .sikuli scripts inside. Then use this URL in your desired_capabilities when starting a test. This way you can run Sikuli tests in the cloud on all our Platforms.


For example:

DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("platform", "VISTA");
caps.setCapability("version", "9");
caps.setCapability("browserName", "internet explorer");
caps.setCapability("sikuli", "http://mywebsite.com/sikuli-scripts.zip");

This will make sure TestingBot will download your Sikuli script and run it at the start of your test.