What is
Sikuli?
Sikuli allows you to
automate anything you see on the screen, using screenshots as
a means of control. It provides you with an editor for creating scripts using
its API.
The Sikuli IDE provides you with your primary
interface for working with and executing Sikuli scripts.
Sikuli IDE is a tool maintained under license from MIT and is freely available. Sikuli is based on the Python language and is similar in operation to automation test harnesses that are industry standards for web application testing, such as Selenium.
Sikuli, however, has a critical difference compared to harnesses such as Selenium in that it is not built to test run particular APIs or technologies in defined tests. Instead, Sikuli has one embedded API based on the emerging technology of machine vision; Sikuli 'looks' at the screen the way a real user does.
Advantages of Sikuli:
- When scripting a Sikuli test, an engineer tells Sikuli to find an element on the screen using screen captures of the elements themselves embedded into the script. Then using Python, the engineer specifies ways Sikuli is to interact with that element using mouse clicks and keyboard inputs.
- As a result, a breakthrough of sorts is achieved: Sikuli testing scripts look for and interact with elements on a screen exactly the same way a human does. What’s more, complete API and platform independence is achieved this way. No matter the application, API, whatever, Sikuli can interact with it. If it’s on a screen, you can test it with Sikuli.
Disadvantages of Sikuli:
- Sikuli IDE's advantage of machine vision is also, in a way, its ultimate limitation. For instance, Sikuli can be set up to automate a web-application through a browser.
- However, if the browser is changed (Firefox instead of Chrome), or if even the UI 'skin' of the same browser is changed, Sikuli will not 'see' what it needs to see.
- This also occurs if you change the resolution or color-depth of the native display you wish to run your tests on. These are basic limitations and are obviously far-reaching in their scope.
Sikuli is a robust and powerful tool to automate and tests user interfaces screenshots. The core of Sikuli Script is written in Java, which means you can use Sikuli Script as a standard JAVA library in your program.
No comments:
Post a Comment