Any tester or developer who has tried to automate tests or processes involving Citrix will know the pain that comes with virtual machine automation. Unlike web and desktop applications, there are no objects in Citrix to identify - just images - which poses a considerable challenge in automation.
How can you automate something that doesn’t allow you to interact with it and identify the underlying objects?
For a human being who sees the interface of a virtual machine, it might not seem so difficult, but for a robot, it’s a different story.
So why not let humans do the work? If businesses want to see their product quality increase and their risk lowered, and if they want to be able to deliver at high speed and low costs, automation is a necessity.
There is a solution - and it’s found by understanding how Citrix operates, which challenges emerge as a result of this, and what requirements this sets for Citrix automation tools.
Citrix: how does it work?
Citrix virtual machines are a type of technology used by large scale businesses to display the interface of a system or application to a business partner, a vendor, or other third parties.
There are different benefits of using virtual machines, depending on the business. A bank, for example, might use Citrix to display an application to a business partner in order to protect their data and comply with regulations.
If, for instance, the bank needs the business partner to develop a feature for an application, but the application is also an access point to sensitive customer data, then the bank must find a workaround.
Because the bank is under strict regulations for customer data, they cannot just give the partner access to the application. Instead, they use Citrix to display the necessary parts of the application to the partner, allowing the partner to develop for it, while complying with regulations.
What the business partner sees is just an image. There are no elements to click, text to grab, or data points to access. From a more technical perspective, Citrix functions as a virtual wall that mirrors an application, but doesn’t allow any interaction.
This is a benefit from a business perspective, but a challenge from an automation perspective.
The challenges of automating Citrix
There are several reasons why testers and developers find Citrix automation a challenge.
The first one, which we’ve touched upon already, is finding a way to identify elements on the screen when there are no objects. With Citrix, you do not have access to the DOM, so you must find a different route than object identification. As explained, Citrix is in essence an image, so the only way to automate interactions is via image recognition.
The second challenge is writing code for image automation. It takes significant time and effort for a developer to put together a test script that can identify images accurately, and even more time to make that script stable enough to provide real, long-term benefit, without requiring heavy maintenance. If you think Selenium automation is a challenge, you won’t want to dip your toes in this pool.
In addition to these two main barriers to Citrix automation, a series of more granular challenges tend to show their face once testers and developers have created their automation.
For example, synchronization and differences in loading times can create slight variations in images, causing a test to fail, even though the image was in fact there. Similarly, differences in pixels can lead to test failure too. This could be the case if a test was designed on a desktop with high resolution but run on a laptop with lower resolution.
Small differences like these can cause tests to break, without it being a reflection of the product’s quality, meaning the tests are unreliable, and in some cases even useless.
On the bright side, there is a solution to these problems: An automation tool designed with Citrix virtual machines in mind.
LEAPWORK: An automation tool for Citrix
LEAPWORK’s no-code automation platform utilizes powerful text and image recognition to enable remote, continuous monitoring, helping to secure the performance of virtual software such as Citrix.
To automate applications in a virtual environment, regular automation approaches based on object inspection fall short. LEAPWORK’s no-code platform solves this problem using intuitive yet powerful Object Character Recognition (OCR) technology. You can find, select and get text and image elements or control any mouse and keyboard action, without writing a single line of code.
LEAPWORK’s visual language differentiates from other no-code approaches, and means that automation can be created, maintained, and scaled at speed without compromising the stability of automation.
LEAPWORK takes common challenges of automating Citrix into account and lets you create stable tests that don’t break due to e.g. pixel differences or loading times. It’s smart technologies like these that make it possible to create reliable Citrix automation with ease.
You can learn about the technical details of LEAPWORK’s OCR technology, and the options available for businesses wanting to automate complex scenarios in our learning center.
Book a demo with one of our automation specialists to learn more and see LEAPWORK in action.