Chrome automation on Linux robots

Introduction

We are making important steps into the cross-platform world. I am pleased to announce the Public Preview of the Chrome automation running on the Linux robots.

Below you can find a few simple steps on how to start building the Chrome cross-platform unattended automation, which can run on both Windows and Linux.

Install the prerequisites

Download and install Docker

This article assumes you have a Docker installed on your machine. If not, choose your preferred operating system and download and install Docker.

Pull the Linux robot with UIAutomation capabilities Docker image

How to get the latest community docker image

Run the following command to pull the Linux robot with UIAutomation capabilities preconfigured.

docker pull registry.uipath.com/robot/uiautomation-runtime:latest21.11-preview

After pulling it, you should be able to see it in your local repository:

What the image contains

The UIAutomation Docker image is built on top of the Robot Docker image (registry.uipath.com/robot/runtime), and has the following additional UIAutomation required packages preinstalled:

  • dbus
  • openrc
  • curl
  • xvfb
  • x11vnc
  • chromium (with the UiPath Chrome extension)
  • bash

Run the Docker image

You can run the Docker image with multiple parameters, depending on your need.

Define/collect the Orchestrator machine configuration

Define the target machine in the Orchestrator. The machine template must be configured to reflect the cross-platform capabilities:

Get the machine key and the Orchestrator URL from your tenant.

For example, the machine key format is similar to 656d1ff3-64eg-4e90-917f-06a21bb9a859 format and the URL is similar to https://cloud.uipath.com/uipatxjherfd/UiPathDefault/

Running the image with basic configuration

If you just planning to run unattended UI automation on the robot and don’t want to visual inspect the execution, nor debug it, run the following command:

docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="{orchestrator url}" -e MACHINE_KEY="{machine_key}" registry.uipath.com/robot/uiautomation-runtime:latest21.11-preview

Example:

docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/uipatxjherfd/UiPathDefault/" -e MACHINE_KEY="656d1ff3-64eg-4e90-917f-06a21bb9a859" registry.uipath.com/robot/uiautomation-runtime:latest21.11-preview

At this point, the orchestrator should be connected with the up and running Robot.

Running the image with VNC enabled

Note, the image has a preconfigured VNC server running, accessible via the 5900 default port. If you want to connect to it during the automation execution to view the robot in action, you need to publish the VNC port when starting the image, by adding “-p {localVncPort}:5900 --env VNC_ENABLED=true” options.

Run the following command:

docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="{orchestrator url}" -e MACHINE_KEY="{machine_key}" -p 50000:5900 --env VNC_ENABLED=true registry.uipath.com/robot/uiautomation-runtime:latest21.11-preview

Example:

docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/uipatxjherfd/UiPathDefault/" -e MACHINE_KEY="656d1ff3-64eg-4e90-917f-06a21bb9a859" -p 50000:5900 --env VNC_ENABLED=true registry.uipath.com/robot/uiautomation-runtime:latest21.11-preview

That makes the VNC server available via the local machine (50000) port. Now you can use any VNC client to follow live, the robot’s execution.

Build & run the CrossPlatform web automation

The cross-platform Studio project type

To build web automation to run cross-platform, use the corresponding Studio → Cross-platform project type:

image

Update the UIAutomation dependency

Via the Manage Packages utility, update the UIAutomation dependency to the latest UIAutomation.Activities 21.11-preview available package. For convenience, ManagePackages lists only the activities packages that are cross-platform compliant.

Install the 21.10 Chrome extension

In order to design UI automation cross-platform, you need the latest Chrome extension. You can easily install it via the Studio 21.10 → Tools or SetupExceptions.

Note, for 21.10 we have published a new Chrome extension. Run chrome://extension in your local browser and make sure you have the proper version installed before starting designing:

image

Design the web automation

You are ready to design the automation. Remember, for now, we only support Chrome.

The following UIA Modern activities are available:

image

with the following input methods:

  • ChromiumAPI (default)
  • Simulate

and the below wizards:

  • Web Recorder
  • Table Extraction

Run the automation

You are ready to execute the automation on the Linux Docker container. Publish the automation in Orchestrator and run it in the previously configured robot.

Enjoy and don’t forget to provide feedback!

Late note: Also, check out the Chrome automation on macOS via de Assistant!

14 Likes

Wow! Awesome news. Looking forward to trying this out soon!

1 Like

Thank you @oscar
Let us know how it went, all feedback is highly appreciated :slight_smile:

For folks thinking about spinning this up on their Pi- AMD64 only for now :wink:
I’m pumped regardless- we saw a demo yesterday where they used it for IOT automation. Looking forward to seeing more devs from the Linux community!

2 Likes

Is there a plan to extend this to windows containers as well going forward?

No specific plans today, but we are considering it for the future.

BR,
Gheorghe

1 Like

Hi, I’ve built a process with uipath studio community 22.4 and uploaded the process to orchestrator but returned error “package is not compatible with .net 5.0 package compatible .net 6.0”
I’ve built a process without uia with studio community 21.10 several days ago and that ran perfectly with linux robot without uia.
Is there any later version of linux robot with uia which support .net 6.0?

1 Like

Hi @Jah_Wn,

For the Robot only docker image there is a 22.4 docker image available that you can download from registry.uipath.com/robot/runtime:22.4.0-beta.8381.
For a UIAutomation docker image you can use registry.uipath.com/robot/uiautomation-runtime:latest22.4-preview

Best regards,
Andrei

1 Like

Hi @erghe, where can I find the available tags for UiPath docker images?