---
title: Cloud testing with Sikuli and Selenium WebDriver
description: |-
  Sikuli is able to automate anything you see on your computer screen by using image recognition to identify components you want to interact with.
  Th...
source_url:
  html: https://testingbot.com/blog/2015/12/30/cloud-testing-with-sikuli-and-selenium-webdriver
  md: https://testingbot.com/blog/2015/12/30/cloud-testing-with-sikuli-and-selenium-webdriver.md
---

# Sikuli Testing in the Cloud

By [Jochen D.](https://testingbot.com/about/jochen-d)2015-12-30

 Share on Facebook 

 Share on Twitter 

 Post on Reddit 

 Share link 

Sikuli is able to automate anything you see on your computer screen by using image recognition to identify components you want to interact with. This is very useful if you want to test things that are not easy to automate, for example native OS GUI components.

Since Sikuli runs on Windows, Mac and Linux - it is extremely useful to use during your tests.

TestingBot now supports Sikuli on all VMs: Windows (XP, VISTA, 8, 10), Linux (Ubuntu) and OS-X (Mavericks, Yosemite, El Capitan, Sierra, High-Sierra, Mojave).

By supplying a `sikuli` option in your desired capabilities, TestingBot will automatically download the Sikuli script you specified and run it at the start of your Selenium WebDriver test.

An example on how to automatically click a Chrome dialog button, allowing Chrome to install a Chrome extension:

 ![sikuli cloud example](https://testingbot.com/assets/support/sikuli_script.png)

This will wait for a button called "Add extension" to appear on the screen. Once it appears, Sikuli will click the button automatically. We have to use Sikuli for clicking this button since WebDriver is not able to do this.

Of course, you can use Sikuli to do other things as well: clicking the browser menu, save as bookmark, install a plugin, ...

## 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 that URL in your desired\_capabilities when starting a test.

This way you can run Sikuli tests in the cloud on all our [platforms](https://testingbot.com/support/web-automate/browsers).

An example:  

```java
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");
```

## Example automatically add Chrome extension

Below is an example in Ruby on how to install a Chrome extension on our VMs at the start of your test, automatically.

```ruby
require "rubygems"
require "selenium-webdriver"
require "selenium/client"

caps = {
  :browserName => "chrome",
  :platform => "CAPITAN",
  :sikuli => "http://mywebsite.com/sikuli-example.zip"
}

urlhub = "http://hub.testingbot.com/wd/hub"
client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 120

@webdriver = Selenium::WebDriver.for :remote, :url => urlhub, :desired_capabilities => caps, :http_client => client
@webdriver.navigate.to "https://chrome.google.com/webstore/detail/office-editing-for-docs-s/gbkeegbaiigmenfmjfclcdgdpimamgkj"
sleep 3
@webdriver.find_element(:css, '.webstore-test-button-label').click
sleep 20
# now wait for Sikuli to automatically click the button
@webdriver.quit
```

[← Previous post Uploading files with Selenium for testing](https://testingbot.com/blog/2015/12/11/uploading-files-with-selenium-for-testing) [Next post → Working on a real mobile device farm](https://testingbot.com/blog/2016/01/29/working-on-a-real-mobile-device-farm)

## Sidebar

### TestingBot Cloud Testing

Run automated, manual and visual tests on remote browsers and devices. Sign up for a free trial.

[Free Trial](https://testingbot.com/users/sign_up)

### Latest articles

[![Announcing AI Test Insights](https://testingbot.com/assets/blog/2026/ai-insights.jpg)](https://testingbot.com/blog/ai-test-insights)

#### Announcing AI Test Insights

Use AI Insights to quickly discover why an automated test...

[Read: Announcing AI Test Insights](https://testingbot.com/blog/ai-test-insights)

[![Selenium vs Playwright 2026](https://testingbot.com/assets/blog/2026/selenium-vs-playwright-2026.jpg)](https://testingbot.com/blog/selenium-vs-playwright)

#### Selenium vs Playwright 2026

Comparing Selenium vs Playwright - which is the best test...

[Read: Selenium vs Playwright 2026](https://testingbot.com/blog/selenium-vs-playwright)

[![Maestro Physical Device Testing](https://testingbot.com/assets/blog/2026/maestro-physical.jpg)](https://testingbot.com/blog/maestro-physical-device-testing)

#### Maestro Physical Device Testing

Maestro testing in parallel on physical Android and iOS d...

[Read: Maestro Physical Device Testing](https://testingbot.com/blog/maestro-physical-device-testing)

## Related Articles

[![Selenium vs Playwright 2026](https://testingbot.com/assets/blog/2026/selenium-vs-playwright-2026.jpg)](https://testingbot.com/blog/selenium-vs-playwright "Selenium vs Playwright 2026")

### [Selenium vs Playwright 2026](https://testingbot.com/blog/selenium-vs-playwright)

Comparing Selenium vs Playwright - which is the best test framework for your usecase?

[Read article →](https://testingbot.com/blog/selenium-vs-playwright)

[![Selenium 20th birthday](https://testingbot.com/assets/blog/2024/selenium20.webp)](https://testingbot.com/blog/selenium-20-years "Selenium 20th birthday")

### [Selenium 20th birthday](https://testingbot.com/blog/selenium-20-years)

Celebrate Selenium's 20th birthday. An overview of the years.

[Read article →](https://testingbot.com/blog/selenium-20-years)

[![blank](https://testingbot.com/assets/blank-765bda2d39d03b623c68515d78259503eb9ca884105d9fff58b2693418720ea1.gif)](https://testingbot.com/blog/2012/11/30/phantomjs-headless-testing-with-selenium-webdriver-and-testingbot "PhantomJS on TestingBot")

### [PhantomJS on TestingBot](https://testingbot.com/blog/2012/11/30/phantomjs-headless-testing-with-selenium-webdriver-and-testingbot)

Running tests with PhantomJS

[Read article →](https://testingbot.com/blog/2012/11/30/phantomjs-headless-testing-with-selenium-webdriver-and-testingbot)

[![Playwright Testing on TestingBot](https://testingbot.com/assets/blog/2023/playwright-testing.jpg)](https://testingbot.com/blog/playwright-testing-introduction "Playwright Testing on TestingBot")

### [Playwright Testing on TestingBot](https://testingbot.com/blog/playwright-testing-introduction)

Learn how Playwright can run your automated tests on a variety of browsers, local or remote browsers on TestingBot.

[Read article →](https://testingbot.com/blog/playwright-testing-introduction)

## More by Jochen D.

[![Announcing AI Test Insights](https://testingbot.com/assets/blog/2026/ai-insights.jpg)](https://testingbot.com/blog/ai-test-insights "Announcing AI Test Insights")
### [Announcing AI Test Insights](https://testingbot.com/blog/ai-test-insights)

Use AI Insights to quickly discover why an automated test failed.

[![Maestro Physical Device Testing](https://testingbot.com/assets/blog/2026/maestro-physical.jpg)](https://testingbot.com/blog/maestro-physical-device-testing "Maestro Physical Device Testing")
### [Maestro Physical Device Testing](https://testingbot.com/blog/maestro-physical-device-testing)

Maestro testing in parallel on physical Android and iOS devices.

[![tvOS Physical Device Testing](https://testingbot.com/assets/blog/2025/appletv.jpg)](https://testingbot.com/blog/tvos-automated-testing "tvOS Physical Device Testing")
### [tvOS Physical Device Testing](https://testingbot.com/blog/tvos-automated-testing)

Run automated tvOS tests on physical AppleTV devices.

[See all posts by Jochen D. →](https://testingbot.com/about/jochen-d)

## Ready to start testing?
[Start a free trial](https://testingbot.com/users/sign_up)
