I’m new to automate testing, my senior management asked me to automate one of our ATM monitoring tool product using robot framework. It’s not an web application. It’s an windows application(.msi). I don’t know how to & where to start. Can someone please help me on this?
Under “GUI Inspector Tools” you’ll find a tool FlaUI Inspect, download that and check if that can find the objects in your application (buttons, fields, labels etc), if it can then this library (robotframework-flaui) is probably the best library for you to use, scrip up that page and follow the instructions for installing robotframework-flaui, then scroll down to the documentation for the keywords and also read the XPath explanation.
If that doesn’t work come back to this thread and we can offer some other suggestions, but this is the best library for windows apps, so try this first.
No, selenium library is only for web applications.
This is why Robot Framework has so many libraries, you use the library that works with the type of application you’re testing. but because they all have keywords.
The usage of each library is similar, so the learning a new library is easy, unlike other test tools where you need to change to a completely new tool and often a new programming language to test a different type of application.
I understand. My desktop application is device monitoring tool and the tool connected with host/DB. I have some testcases to test DB too. Can I use FlaUI for this?
You might be able to use FlaUI to script the database console but that’s a bit clumsy I wouldn’t suggest it.
A better way would be to use Database Library that lets you connect directly to your database and run your sql queries directly, you then can get the results back as a list, and then use the builtin library’s keywords to validate the result (look for keywords that contain the word should)
One great feature of robot framework is you can combine these library’s keywords in the same test, so you can input something in the windows app with FlaUI Library, then use Database Library to query the result in the database, then use Should Be Equal As Numbers or Should Be Equal As Strings to verify the result.
If you plan to start and learn by yourself, you already have information here :
Then, I would recommend checking tutorials as you can find on YT for example, there are multiple good ones, with step by step functionalities (installation, libraries, keywords, setup/teardown…). They often explain the concepts and behavior in a playlist like manner, and some of them are really clear.
Of course you might find specific flaUi ones.
Then clearly even it is might seems thick, RF documentation is really helpful, and personally when working with a library, I dig into it to have a good overview and understanding of the keywords.
Sometimes you might try to verify something in a way, and there’s just a simple keyword that does it
Also you can obviously search this forum, even if you don’t find your answer you will always get some interesting and helpful infos.
I would agree with @damies13 that this is probably the best way to automate a GUI app on Windows. We have a test case (I wrote) that uses it. Unfortunately, our CI/CD runners aren’t fully configured to host a GUI (long story), so I’ve not pursued any more than that.
Since you (@Vignesh06 ) mention that you’ll be automating an installer, I can confirm this library will allow you to do that since it is an MSI that I’ve automated as well. However, I would encourage you to utilize a command-line for this purpose unless you specifically need to test the UI components. This is what our team does and we rely on it heavily.
I 100% agree with this, actually most (larger?) organisations deploy their software that way, for MSI’s they create an MST file and run the misexec.exe command passing the mst and msi files. (I might have done this more than once)