Robotic Process Whaa?
Robotic Process Automation, often abbreviated as “RPA”, at first glance, sounds like something a Mechanic, or a Mechanical Engineer would be working with.
And you might be right- at least in my case.
But worry not.
RPA is all about software automation, in fact, it has the potential of transforming into our main go to tool for automation.
Why RPA? Why Not Selenium?
Selenium is used to automate test cases that require web interaction. You might be wondering why we automate test cases, and the answer to that is simple.
Once you develop a script, it can be run across several machines with varying configurations to test various scenarios. Maybe the first script will run on a machine using Internet Explorer, the next on Google Chrome, another with low network connectivity and so on.
But Selenium is not just limited to that.
Once you trigger an automation, you can kick back and relax, until the script encounters an error. That is the beauty of automation, and RPA makes your life even easier since it isn’t limited to just the web.
It can automate virtually anything, whether it be on desktop, internet or cloud.
It is so good at what it does, that it is primarily used to reduce manual and repetitive labor, as long as it involves a PC.
Selenium can be used to automate tasks as well, except it is not tailored for it. Developing Selenium scripts takes time, and is often rigid once developed. If the website being automated receives an update which involves changes to it UI or navigation, then you have to develop an entire Selenium script from scratch.
There is very little you can salvage from a script that has hardcoded Xpath values, and the development can run into weeks or even months, depending on the size and scope of the automation which is why I say,
RPA is Selenium on Steroids
Except, its low code and fairly easy to pick up on.
Selenium requires you to learn either one of the following languages: Java, C#, Python, Ruby etc., because you will be coding each and every step.
RPA doesn’t require any of that.
You just have to be aware of coding concepts, such as initializing different types of variables, working with loops, providing appropriate conditions within those loops, debugging, testing out various scenarios etc.
Coming to Software testing, Only a handful of RPA software have entered into that arena. UiPath has a Test Suite that is entirely to automation testing, which I highly recommend you check out.
RPA Doesn’t Require Me To Know How To Code?
RPA doesn’t operate on the basis of you knowing how to code in Java or C#, but it does provide us with the option of adding snippets of code wherever necessary. The reason for that is RPA comes with “Packages” or “Activities” which are bundled up scripts that perform automation.
You just have to click and drag them into your designer/studio.
For example, there is a package for Excel that allows you to perform automations such as setting values to cells, retrieving select values and performing operations on them before writing them back into Excel etc.
Your job is to drag them into your studio, add in the necessary parameters, and test the workflow. This may sound simple, but trust me, you will encounter scenarios that force you to think, either in terms of workarounds that suit the process you are trying to automate, or in terms of addition scripting that will perform the desired operation.
Maybe the automation works fine, until it has to download content from a given website. This is where you will inject a JavaScript code into the browser to trigger the download.
I Can Use My Own Codes as Well as Drag In Pre-built Packaged Codes?
Yup, but that’s not all.
RPA also allows you to import bundled up codes that you have developed.
How neat is that?
What’s the Difference Between Codes I can Write Into My Studio and Packages?
Codes you develop within the studio are limited in its scope. To use it in another automation, you will have to manually import or write it down there as well.
When you create a package, you are bundling up your code into a click-and-drag activity which is really convenient for two reasons in particular:
- Its easily accessible once its pushed into your feed, or imported into your instance with no hassle
- The parameters can be added in the properties panel without you having to tinker with the code itself
That is Pretty Neat.
Hell yeah it is.
Are You Sure It Won’t Automate My Homework?
Damn sure it won’t.
RPA does support ML/AI, but your homework requires Your Intelligence not Artificial Intelligence.
I hope this has given you a fairly good idea of what RPA does, and how powerful a tool it is.
Now go do your homework.
You won’t become an RPA developer unless you graduate!