These are chat archives for RaiMan/SikuliX-2014

7th
Apr 2016
Enrico Teotti
@agenteo
Apr 07 2016 14:41 UTC
@Tiogshi I thought the IDE was Java based
Enrico Teotti
@agenteo
Apr 07 2016 15:40 UTC
I wrote an introductory blog post about SikuliX, I'd appreciate your feedback http://teotti.com/sikulix-automated-testing-with-image-recognition/
Jason Tolotta
@jtolotta
Apr 07 2016 15:55 UTC
@Tiogshi and @agenteo both of you are partially right. The SikuliX IDE is actually Jython, a Java and Python hybrid.
The benefits is that Java libraries can be called and used through the Jython compiler.
If you feel adventurous, you can construct a user-interface using the Java Swing libraries to present the scripts.
http://www.jython.org/jythonbook/en/1.0/GUIApplications.html
Tiogshi Laj
@Tiogshi
Apr 07 2016 16:01 UTC
@agenteo The IDE is used to write Python source, so it's a Python IDE, regardless of the language the IDE is written in or the runtime that executes that source. :smile:
Tiogshi Laj
@Tiogshi
Apr 07 2016 16:09 UTC
That aside, I use Sikuli but do not use SikuliX. I wrote a domain-specific scripting language (which is actually represented in XML, and its engine written in Java) to perform data validity testing as its main job, and uses Sikuli to validate and interact with the program according to procedurally-generated user stories and use cases. IMHO SikuliX and the Sikuli featureset exposed to Python are far too limited for anything more complex than executing strictly linear processes.
Enrico Teotti
@agenteo
Apr 07 2016 16:18 UTC
thanks for clarifying
@Tiogshi I am curious about your use case, can you tell more about it? Is it a web app or desktop? I had some spare time and moved a web automated test from Selenium to see how much effort it was and what problems it would entail. To me the biggest win is avoiding Selenium specific bugs/quirks in the rich client app, but the downside is the OCR and image recognition limits when the view layer changes.
Tiogshi Laj
@Tiogshi
Apr 07 2016 17:45 UTC
@agenteo My solution doesn't get around the image recognition problems. It is a command-line program which runs a suite of DSL scripts, granting them access to files in PWD, and if a windowing environment is available, to Sikuli. In its current use case (anonymized mildly as the tool is not yet open-source), those scripts analyze configuration and manifest files in the PWD, verify their validity and consistency (for example, checking that all files referenced in the manifest actually exist), and can then run the application in PWD and execute a bank of user stories which the scripts generate based on the configuration and manifest.
@agenteo It could also run scripts as simple as SikuliX or AnkuLua scripts, but right up front I needed vastly more control over failure modes ("what happens when find(image) fails") than they offer, and in-script access to an XPath engine, so I had to write my own DSL to get access to them.