Tips and tricks Best practice guides, FAQ & more
Citrix is a widely used technology that allows businesses to access virtual versions of applications or systems. Many of these businesses also have a need to automate transactions or processes that involve Citrix. Being a popular automation tool, a commonly asked question is therefore: can you automate Citrix using Selenium?
The simple answer to this question is no. Selenium is a useful tool for automating web applications, but it cannot access objects in Citrix. To understand why, let’s take a closer look at what Citrix is, and how Selenium works.
Citrix virtual machines allow businesses to view virtual interfaces of applications or systems.
Virtual machines are, simply put, reflections of physical machines that display only an image of an interface of that physical machine, and not the objects within.
Similar to when taking a screenshot of a webpage on your desktop, you can see all the buttons, images, text, and whatever else is in the screenshot, but you cannot interact with them. You cannot click anything or access anything from that screenshot.
This is useful to many businesses for various reasons. For example, if they need to be able to give external vendors restricted access to certain applications and platforms in order to outsource projects.
A typical use case for a bank would be if they needed an external vendor to develop a feature in an application for them. Let’s say the application is an access point to credit card details. The bank must keep that data safe and ensure that those details are not shared with a third party. Citrix allows the business to provide sufficient access for the vendor, so that they can develop the application without sacrificing the safety of their customers’ private information.
If that vendor wanted to test their application after developing it, they would most likely want to be able to automate some of their tests. And this is where Selenium comes into the picture.
Selenium is an open source web automation tool used by many testers. Selenium uses object interaction to identify objects in a web application for testing. And this is where the problem arises.
Because Citrix is ‘just’ an image, there are no objects to identify. Simply put, Selenium cannot see anything on a Citrix interface, making it impossible to automate interactions.
So what does it take to automate Citrix?
Having established that the interface Citrix displays functions like an image, image and text recognition, or Object Character Recognition (OCR) as it is formally named, is key to automating Citrix.
OCR can ‘grab’ images or parts of images, allowing testers to identify objects on a screen. Using the screenshot analogy again, OCR technology takes a snapshot of something on a screen, and a test can be created to check if that snapshot is or isn’t there.
Of course, OCR technology is far more advanced than a screenshot tool. For example, smart OCR functionality will ensure that an image can be recognized despite changes in pixels or lags in loading times - challenges that testers often face in Citrix automation, and can be overcome with the right OCR tool.
OCR is also what allows testers to access legacy systems or other technologies that cannot be automated with regular web or desktop automation tools. For example, if a business wants to test end-to-end through a process that involves a customer facing web application, a desktop database, and a mainframe server, OCR is essential for accessing that mainframe’s interface, unless a mainframe developer dedicates their blood, sweat and tears to coding the automation themselves.
In conclusion, Selenium cannot be used to automate Citrix. Instead, OCR is needed, and can contribute not just to Citrix automation but to a wider suite of automation tasks that are challenging to access.
Leapwork’s no-code automation platform provides businesses with a suite of automation functionalities that will let them automate end-to-end, across virtual machines, legacy systems, web, and desktop.
Leapwork offers advanced OCR capabilities that let testers overcome common barriers to Citrix automation. The platform uses Selenium under the hood for web automation, but adds advanced technologies on top to fulfill the testing requirements of large scale businesses.
An all-in-one solution for test automation and RPA, Leapwork does not require teams to read or write any code. Altogether, this means less complexity in the businesses IT landscape and easier collaboration thanks to a visual automation language that anyone can understand.
As a result, businesses can flow through bottlenecks and increase productivity, while significantly minimizing risk and lowering overall business costs.
Watch the video below, where Visma, a software solutions and consultancy firm, describe the benefits they have seen by using Leapwork for Citrix test automation and RPA.
Learn more about Leapwork’s no-code automation platform in our webinar.