• What is Automation Testing - Advantages & Types of Tools
  • What is Selenium IDE, Selenium RC, Selenium WebDriver, Selenium Grid?
  • Selenium IDE, Firebug & Firepath Installation


  • Selenium WebDriver Architecture
  • Selenium Installation
  • Challenges and Limitations of Selenium
  • First Selenium WebDriver Script
  • Working with Firefox Browser
  • Solution - Failed To Launch Browser Using Selenium WebDriver
  • Working with Chrome Browser
  • Working with IE Browser
  • Difference Between FindElement & FindElements
  • Install Firebug, Fire path and other add on for Selenium
  • Locators in Selenium
  • Dynamic Xpath
  • Dynamic CSS
  • Handle drop-downs
  • How to work with file upload
  • Handle Alerts & Popups
  • Handle Multiple Windows
  • Mouse Hover event in Selenium
  • Right Click
  • Double Click
  • Drag and Drop
  • Capture Screenshots in Selenium
  • Parameterization
  • Synchronization
  • Implicit Wait, Explicit Wait and Fluent Wait in Selenium
  • Implicit Waits
  • Explicit WebDriver Waits
  • Fluent Wait In Selenium
  • Apache POI
  • How To Read Data From Excel File
  • How To Write Data In Excel File
  • Database Testing Using MSSQL
  • Database Testing Using MySQL
  • Database Testing Using DB2
  • Handle Ajax Call in Selenium
  • Listeners in Selenium
  • Handling JavaScript in Selenium
  • Stale Element Reference Exception in Selenium
  • Integrate Sikuli with Selenium
  • Headless Browser Testing 
  • Headless Browser Testing using HtmlUnitDriver
  • Headless Browser Testing using PhanthomJSDriver


  • TestNG Installation
  • TestNG Complete Tutorial


  • Extent Reports Introduction
  • Extent Reports Generation
  • Capturing Screenshots & Including In Extent Reports
  • Extent Reports Version 4


  • ANT Build Tool - How To Download & Install
  • Maven Build Tool - How To Download & Install
  • Creating Maven Selenium Project
  • GIT Integration with Selenium
  • Jenkins - How To Download & Install
  • Jenkins - Executing TestNG Scripts
  • Jenkins - Generating Reports After Test Execution
  • Jenkins - Executing Maven Project
  • Create build and Execute build for nightly execution
  • Send Email report based on build Status
  • Selenium Continuous Integration with Jenkins [Selenium – Maven – Git – Jenkins] – Step By Step Guide


  • Running Selenium Tests On BrowserStack
  • Kobiton - Mobile Testing Platform with Real Devices


  • Mobile Testing Platform with Real Devices


  • What is Framework & Types of Framework
  • Page Object Model Design Pattern
  • Data Driven Framework
  • How to explain Test Automation Framework or Selenium Automation Framework Architecture In Interview

  • API Testing:

  • Learn API Testing
  • Postman Tutorial (API Testing with Postman)


  • Test Automation Framework Interview Questions
  • Selenium Interview Questions
  • TestNG Interview Questions
  • Java Interview Questions
  • Python Interview Questions
  • API Testing Interview Questions


  • Automation Tester Resume
  • Sikuli Guide For Beginners – Integrate Sikuli With Selenium | Software Testing Material

    In this article, we will see Sikuli Graphical User Interface Automation Tool in detail and how to integrate Sikuli with Selenium.

    Introduction To Sikuli Tool:

    Sikuli is a Graphical User Interface Automation Tool. Using Sikuli Automation tool we could automate whatever we see on the screen. It basically uses image recognition technology to identify and control GUI elements. We all know that using Selenium we cant automate windows objects. Integrating Sikuli with Selenium allows us to overcome this issue. Using Sikuli with Selenium, we could automate windows objects. Using Sikuli we could automate both Web and Windows based applications. Most of us using AutoIT to upload or download files in Selenium. Using Sikuli you could do it very easily. We could do flash testing using Selenium. We could not identify the element locators of flash objects. We could use sikuli tool to automate flash objects.

    Mechanism of Sikuli with Selenium:

    The object, if we want to automate, should be captured and placed in a specific folder and pass the path of the appropriate image into our Selenium script. At the time of execution, if the image which we passed is matched with the image on the screen then the desired action will be performed on that object.

    Advantages of Sikuli Graphical User Interface Tool:

    1. It is an open source tool for automation
    2. Easily to integrate sikuli with selenium
    3. Can automate Desktop / Windows application
    4. Easily automate Flash objects – Flash Testing
    5. It can be used on any platform such as Windows/Linux/Mac/Mobile
    6. Due to its image recognition technique, we could automate even though there is no access to the code. It allows us to automate anything we see on the screen.

    Sikuli Setup To Integrate Sikuli with Selenium:

    To integrate sikuli with selenium, we need to follow the below steps.

    Step 1: Download Sikuli jars

    Step 2: Double-click on “sikulixsetup-1.1.1.jar” to do setup.

    After having installed Sikuli on your system, a jar file “sikulixapi.jar” generate.

    Step 3: Open Eclipse IDE and create a project

    Here is a post on how to do Selenium setup.

    Step 4: Include “sikulixapi.jar”

    Right click on project – Go to Build pathlibraries tab – click on ‘Add external jars’ and add the following jar file and click on OK.

    Add this “sikulixapi.jar” file

    I will present two sample scripts to show you how sikuli works in real time.

    Check below video to see “Sikuli Tutorial – Integrate Sikuli with Selenium”

    If you liked this video, then please subscribe to our YouTube Channel for more video tutorials.

    Scripts to Integrate Sikuli with Selenium Webdriver:

    Script 1: Facebook login Using Sikuli with Selenium

    Our goal based on the below program is to open facebook page and pass user credentials and do login.

    Step 1: Open facebook login page
    Step 2: I have captured the following images from facebook login page and saved on my local drive.

    Email field:
    Password field:

    Login button:

    Note: You could find the detailed explanation of the script in the code snippet below

    Script 2: Actions using Sikuli with Selenium

    Step 1: Open
    Step 2: I have captured the below mentioned image and saved on my local drive.

    Our goal based on the below program is to open softwaretestingmaterial page and do actions such as click, doubleClick, rightClick.

    Note: You could find the detailed explanation of the script in the code snippet below

    Sikuli Methods:

    Here to showcase some examples, I am going to use the same object of Screen class which I have taken in the above scripts.

    1. Click on an element:“path of your image”);
    2. Double click on an element: screen.doubleClick(“path of your image”);
    3. Right click on an element: screen.rightClick(“path of your image”);
    4. Type on a text box: screen.type(“path of your image”, “Your text message”);
    5. To find an element: screen.find(“path of your image”);
    6. Element identification whether it exists or not: screen.exists(“path of your image”);
    7. Drag and drop: screen.dragDrop(“path of your Source image”,”path of your Target image”);

    To learn more on Sikuli, please refer this offical documentation.  I am concluding here on “Sikuli Tutorial for begineers”, If you have any questions, please comment below.

    integrate sikuli with selenium

    Get our latest blog posts delivered to your inbox

    Subscribe and get popular blog posts about software testing industry.


    4 thoughts on “Sikuli Guide For Beginners – Integrate Sikuli With Selenium | Software Testing Material”

    1. How to capture the images of the elements present of website? Can we do it as we do normally using “prtSc” and trim rest all.

      • Yes

    2. you can use snipping tool and qsnap etc… to capture the image

    3. if any windows/patch upgradation happens on system ,then sikuli will get fail.

    Leave a Comment

    Share via
    Copy link
    Powered by Social Snap