Automated Software Testing with SikuliX

September 2, 2016

Automated software testing is a process of testing where various testing tools are used. These tools execute a test script. In manual testing, we have to do repetitive tasks. But automated testing simplifies testing effort. Automated testing tools are capable of executing tests, reporting and comparing results.

Automated testing with SikuliX

Graphical user interface testing is comparatively more challenging. It requires a mouse or human interface to operate. SikuliX is a tool to automate user interface using visual image matching method. It is a cross-platform testing tool that uses Open CV to search computer’s screen for the image. SikuliX provides the very user-friendly Sikul-Script.jar file. It also can be easily merged with Selenium Web driver. SikuliX tool is divided into two parts:

  • Integrated Development Environment (IDE)
  • API/Sikuli Script: A Jython & Java library for GUI interaction and keyboard/mouse events

Advantages of SikuliX:

  • It can be used to automate web, desktop, and mobile application. If an application has a GUI, SikuliX automates it easily.
  • It can be integrated with selenium web driver.
  • Supports a variety of programming & scripting languages such as Java, Jython, JRuby, Scala, Groovy etc.
  • The setup procedure is easier.

Drawbacks of SikuliX

  • We cannot assure that image matching will be always accurate.
  • Sometimes, if two or more similar images are available in the screen, SikuliX will attempt to select the wrong image.
  • Too many screenshots taking is overhead.
  • Text label changes can result in failure of the script.
  • If testing application’s GUI is changing frequently then maintenance of scripts can be difficult.

To learn how to install SikuliX, please read Automated software testing with SikuliX.

Contributor: Abdul Hamid, Nascenia

No comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.