Skip to content

Workaround for ARM64-based platforms #46

@m3thom

Description

@m3thom

According to the documentation: https://docs.katalon.com/katalon-studio/execute-tests/katalon-runtime-engine/katalon-docker-image-kdi#known-limitations-for-arm64-based-platforms

Starting from Katalon Studio version 10.0.0, the Katalon Docker image supports ARM64 platforms with limitations.

  • Chrome and Edge Chromium browsers aren't supported on ARM64 platforms. Executing tests with Chrome and Edge Chromium on these Docker images isn't supported yet.

However, due to my circumstances, I could not change the architecture of my CI server from linux/arm64 to linux/amd64.
After some struggle, I found that Selenium provides Docker images that support ARM64. https://github.com/SeleniumHQ/docker-selenium?tab=readme-ov-file#browser-images-in-multi-arch

So, I changed my CLI to use the remote browser type, and it worked:
-browserType="Remote" -remoteWebDriverUrl="http://selenium:4444/wd/hub" -remoteWebDriverType="Selenium"

I'm using GitLab CI, but the concept of using a remote browser type should work with all CI providers as long as they support additional services during the CI run, e.g., PostgreSQL or Redis.
Here is my CI config file.

stages:
  - test
variables:
  # Specify Katalon Studio project directory. By default, it is stored under the root project folder.
  KATALON_PROJECT_DIR: $CI_PROJECT_DIR

test_job:
  tags:
    - saas-linux-small-arm64
  image: katalonstudio/katalon:10.2.0 # The latest tag may NOT always support linux/arm64. Always check if linux/arm64 is available on the specified tag https://hub.docker.com/r/katalonstudio/katalon/tags
  stage: test
  services:
    - docker:dind
    - name: selenium/standalone-chromium:latest
      alias: selenium
  # Update your desired katalonc commands. All of katalonc supported arguments can be found at this document https://docs.katalon.com/katalon-studio/docs/console-mode-execution.html
  script:
    - |
      katalonc.sh \
                -projectPath=$KATALON_PROJECT_DIR \
                -apiKey=$KATALON_API_KEY \
                -retry=0 \
                -statusDelay=20 \
                -testSuitePath="Test Suites/TS_RegressionTest" \
                -browserType="Remote" \
                -remoteWebDriverUrl="http://selenium:4444/wd/hub" \
                -remoteWebDriverType="Selenium"

P.S. Always check and make sure that the Katalon image supports linux/arm64. In my case, I'm using katalonstudio/katalon:10.2.0. You can check supported tags from this link https://hub.docker.com/r/katalonstudio/katalon/tags

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions