3

Currently, I am working on the automation testing framework, which combines with both Selenium Grid and Sikuli API.

I already implemented a library which includes functionality of Selenium and Sikuli, and it works well when I set up my hub and node on the same machine. However, this is just the same as running Selenium RC on the machine.

So, in order to achieve parallel testing, my next step is to launch the nodes from other machines and register them to the hub machine. The idea environment is Amazon EC2 instance.

Hub: Linux box

Nodes: win server 2008

It works fine if I just ran the tests using the library only contains Selenium functions. However, I got error message that

"NO X11 DISPLAY variable was set, but this program performed an operation which requires it."

Should I export DISPLAY variable to the node's ip address? And do I need to set the node machine as an X server? What if there are many instances registered to the hub machines?

Sorry for the vague question... but any idea that how to implement this framework is appreciated. I am using selenium grid since there are many action performing graph verification. It would be very efficient if I can do it parallel testings.

Thanks a lot for any help and advice.

user836112
  • 353
  • 3
  • 7
  • 14
  • You should know that Selenium Grid (framework) is only for Selenium and nothing else. If you were to include Sikuli into a grid configuration, that means you or somebody has to build a "Sikuli Grid" for you to use, and if you need Sikuli + Selenium then that means somebody has to modify the two grid software into one, something you can call a "Selenium Sikuli Grid" or "Sikuli Selenium Grid", etc. So the short answer is, no there is no solution for you other than for somebody to build a Sikuli or Sikuli + Selenium grid framework for you to use. – David Sep 20 '11 at 05:48
  • Out of curiosity, did you get it working ? If yes can your please elaborate on how ? – JustARandomGuy Dec 31 '15 at 00:18

2 Answers2

4

There is a project aiming at providing Sikuli capabilities on Selenium Grid.

https://github.com/sterodium/selenium-grid-extensions

It works by adding extensions both on Selenium Grid hub and nodes.

Dmitry Buzdin
  • 1,233
  • 1
  • 9
  • 15
1

See my blog post about the topic of integrating tools like Sikuli and AutoIt with Selenium Grid. It provides a theoretical approach to implement said automation, though to my knowledge no one has yet implemented a working solution to demonstrate.

http://autumnator.wordpress.com/2011/12/22/autoit-sikuli-and-other-tools-with-selenium-grid/

On a side note, not sure how your X.11 issue came into play, it would be best you work on the framework using local network of machines with Selenium Grid before you convert to an Amazon EC2 deployment. It helps in the design and debug process as EC2 may present its own issues so you want to have the simplest basic Grid setup working first (non-EC2).

David
  • 3,223
  • 3
  • 29
  • 41
  • Out of curiosity, did you get it working ? If yes can your please elaborate on how ? – JustARandomGuy Dec 31 '15 at 00:19
  • Somewhat, depending on what one considers working. The best status of how to get it working is described here (although it's about AutoIt, but you can correlate that to Sikuli): https://github.com/daluu/AutoItDriverServer/issues/7. Still not a ready-to-use solution, one has to put in some work to it. – David Jan 01 '16 at 20:48
  • @JustARandomGuy, noticed the other recent answer from Dmitry, that's the best option for now. – David Jan 02 '16 at 19:55