Using Python , AUTOIT and Robot Framework to Automate Legacy GUI Application Testing.
Shobin Parameswaran (~Shobin23) |
tl;dr : This is a method of coupling various python packages together to have efficient GUI Automation for FREE.
In the field of software Test Automation , automating web application is relatively convenient due to the open source beast of a library called selenium with its various framework support providing an ideal ecosystem for the testers where they only need to concentrate on writing good test cases. However, in the field on GUI or windows based application testing , we do not have this luxury , the first and foremost issue is identifying the elements on the GUI, unlike the web application where every component can be easily accessed via a plethora of methods like Xpath and css (This is due to the web being exclusively coded in the HTML,CSS and JS) in the Windows application the element identification itself can be a pain , right now there are a ton of paid software like RFT, UFT , Test complete which will do these recognition however, there is no solution to this if you wanted to do this for free.
This poster is just about doing that and building an efficient ecosystem for further testing,
Main topics covered:
- RobotFramework (How to use it as the platform for our main testing framework)
- PyautoIT (Its the primary way of interfacing with the GUI components of the system under test)
- Integrating other web features like selenium.
- Frequently occurring problems for this setup and how to solve them.
We will use Robot framework like a breadboard and slot in the framework of choice on top of that for our use cases, PyautoIT in the case of this poster but can be very easily integrated with selenium too.
Basic knowledge in Python like how to install packages using Pip and a bit of software testing.
I work as a Software Test Lead at a Leading Automotive Firm , I was primarily a manual tester but then I read about and got into Python to automate my test cases (Because I am lazy , Not a techie) . Started out by automating my personal work and now I do that as my job. I am by no means a python expert but I love the simplicity and no nonsense mantra of Python.