I want to automate a simulation based desktop application tool using Robot with Python/Java and Sikuli. Could you please let me know if this is a good choice to automate the flows? What are the pros and cons.
Mainly I will validate the GUI and few scenarios of simulation as well. Thanks in advance!!
You’re asking on a robot framework forum, so naturally we’ll say robot framework is the best tool for automating that application (I can admit I’m biased towards robot framework, but for good reasons)
Seriously though robot framework has SikuliLibrary, which uses SikuliX to automate applications but with the power of robot framework behind it, so that would be one valid option for you.
But Sikuli like all image based automation has it’s limitations and can be quite frustrating to work with. Image based automation should really be your last choice when there are no other options.
There are many libraries available for robot framework, so best to mention which OS you application is running on (Windows / MacOS / Linux)? and also if you know what technology / programming language was used to develop the applcation. e.g. if the application is a Java desktop application you might be better off with SwingLibrary, when we know what your dealing with we can make better suggestions for you.
Hi Dave, Thanks for the suggestions. My application is mainly developed in C++ and in very areas of UI there is javasript and currently it is mostly running in Windows OS. Its a simulation based desktop application tool. I need to create an automation framework and run smoke tests on it. Any thoughts or input you can provide me on this? Thanks!!
First thing you want to try is FlaUILibrary, start by going to that page and getting the FlaUI Inspect tool, see if the inspect tool can detect the objects in your application, if it does, than this library will be the best choice
Robotframework-FlaUI is a keyword based user interface automation testing library for Windows applications like Win32, WinForms, WPF or Store Apps.
From here options get worse:
PlatynUI - is still in development but is worth a look at, if it works for you great
AutoitLibrary, there’s no object identification here, only keyboard and mouse clicks, but it does have the ability to manage the windows, bring windows to the foreground, minimise, maximise, get position, etc
Now for the bonus good news, because you’re using robot framework you can combine the libraries, e.g. you can use AutoitLibrary to ensure the window is in the fore ground and then use SikuliLibrary to click the button, or any other combination of these libraries you like or need, this is one of the things that makes robot framework really great, it’s not one or the other, it’s which ever libraries you need.