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

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!

13 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