Cross-Site Project Works on Windows but Fails on Linux Docker with "Google API Keys Missing"

Hello everyone,

I am facing an issue with a UiPath cross-site automation project where the workflow works perfectly fine on my Windows environment, but it fails when running on a Linux machine inside a Docker container.

Setup and Observations:

  1. Environment Setup:
  • Windows (local development): Works fine, automation selects the button without any issue.
  • Linux (Docker Container):
    • I use the official UiPath uiautomation-runtime image.
    • Docker Image: registry.uipath.com/robot/uiautomation-runtime:24.10.95.24248-robot24.10.0
    • Chromium Portable is running in the container.
  1. Access and Behavior:
  • The container correctly accesses the web page.
  • The issue occurs when selecting a specific button on the web page:
    • Error: “Target element is disabled” or the activity fails.
    • Noticeable difference: On Linux Docker, I see the message:

“Google API keys are missing. Some functionality of Chromium Portable will be disabled.”

  1. Configuration:
  • I have set the Input Type of the click activity that fails in UiPath as Chromium API.
  • The same does not work using Same as Browser either.

My Questions:

  1. Could the missing Google API keys affect the behavior of button selection in Chromium?
  2. What are the key differences when using Chromium API on Linux vs Windows?

Any insights or recommendations would be greatly appreciated! I want to ensure my automation runs smoothly in a Linux environment.

Thank you in advance for your help! :blush:

@Daniel_Castro1

Looks like a unecessary pop up blocking the target element and thus failing on it

Please try these steps

Also there is a running thread on this

Cheers

Hi @Anil_G,

Thank you very much for your response! Following the steps outlined in the Stack Overflow thread successfully prevented the popup from appearing. However, the issue with the button not being found persists.

When I check the port on the Linux machine, the page loads correctly, and the button is visible, but it still isn’t being pressed during execution. Do you have any additional suggestions to address this?

@Daniel_Castro1

Is the error same or differnet?

Cheers

Hi all,
For those that are still encountering this blocker, I was able to overcome it by adding the following entries to my Linux users .bashrc (Bash configuration) file:

export GOOGLE_API_KEY="no"
export GOOGLE_DEFAULT_CLIENT_ID="no" 
export GOOGLE_DEFAULT_CLIENT_SECRET="no"

Alternately, you can include the following in your Docker container environment variables, as appropriate:

  • While your environment variables disable Google APIs, Chromium requires proper configuration:
docker run ... --env GOOGLE_API_KEY="your_key" --env GOOGLE_DEFAULT_CLIENT_ID="your_id" --env GOOGLE_DEFAULT_CLIENT_SECRET="your_secret" ...
  • If APIs aren’t needed, use a Chromium launch argument to bypass checks:
--additional-chrome-args="--disable-features=GoogleApiKeyIntegration"
  • Finally, you can include any of these and other environment variables in a plain text file and reference it as such in the Docker command:
--envfile .yourEnvironmentFile

I hope this saves you some frustration!