I can explain somewhat how we went about procuring our tool Leapwork some 3 years ago. We had a problem around the maintenance cost of the Selenium scripting that we have, the same problem is happening with our scripting in ServiceNow where releases and changes break automation.
We looked to solve the former problem by looking at codeless tools. Now 3 years ago the market was different, it wasn’t around self healing and AI, it was about being ‘better’ than Selenium. I’m not buying in to that as a reason to go for a tool, as said, it’s about context.
We drew up our criteria and looked at what the market offered and what we needed. Then we invited a number of vendors to tender. Mainly the criteria asked for was:
- Web automation
- Reusable automation with the sharing of elements and the ability to capture and edit them
- Integration with various data sources
Most importantly easy to use. The intent was to push automation out to users to accomplish tasks.
The tool we have is a Selenium abstraction and used in the right way is very powerful and if our guidance is followed you don’t duplicate functionality. It was purchased to automate the regression for a HR system and we produced about 170 flows for their regression pack.
We’ve used it to great success and it allows us to pivot and produce automation quickly, for example we had to change some data due to Covid, there were some 2000 records and manually it would take 5 days at 8 hours a day. As a side effect of it being easy to use we started to use it for RPA and remove manual processing. The automation was laid out and constructed in 30 minutes, within an hour I was processing information. All told it took 10 hours to run, and took a day and a half to develop and test.
We mostly use it to automate corporate systems such as Oracle, but we do also use it for RPA and smaller automation projects. I use it to fill in my time sheet on our terrible slow system using an excel sheet.
The flows use blocks of functionality such as Find Web Element and Click Web Element. You then ‘wrap’ these within sub-flows that are either reusable, or as in the screen shot ‘blocks of functionality’, this allows you to read the automation like a flow chart.
Within the first block ‘Check if Timesheet exists’ the logic looks like this. Remember the system is slow. I first look to see if I’ve already created the timesheet by looking to see if the modal is in the viewport. If it is because it positioned at 0,0 then it’s on screen and I need to make a new timesheet.
If I didn’t find it at all then I look to see if I can see the timesheet entry page. Again, if it isn’t at 0,0 then it’s on screen and I stop looking.
I’ve been running this same automation for a couple of years now and I’ve had to change it twice, once because I wasn’t accounting for Bank Holidays correctly and another when some of the elements changed in the new version. All in all it’s maybe 3 hours of work that saves me 30 minutes a week - it really is bad, there’s a reason why the loop lasts for up to 60 seconds.