From 564ec4298e00b9d8b036eb361e0aba141c9ccea0 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Sat, 1 Aug 2026 07:12:41 +0000 Subject: [PATCH] ci: fix Sauce Labs E2E browser tests with Sauce Connect 5 and legacy JWP capabilities - Pass `--proxy-localhost allow` to Sauce Connect 5 (`saucelabs/sauce-connect-action@v3`) in CI workflow to permit remote Sauce Labs browser VMs to access `http://localhost:2000/`. - Preserve legacy JWP capability keys (`version`, `platform`) alongside W3C capability keys (`browserVersion`, `platformName`) in `protractor-saucelabs.conf.js` for compatibility with Protractor 7 (`selenium-webdriver@3.6.0`). --- .github/workflows/ci.yml | 1 + tests/e2e/assets/protractor-saucelabs.conf.js | 13 ++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8f88adf0331..2b5a8e2a49a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -225,6 +225,7 @@ jobs: accessKey: ${{ secrets.SAUCE_ACCESS_KEY }} region: us-west-1 tunnelName: ${{ env.SAUCE_TUNNEL_IDENTIFIER }} + args: --proxy-localhost allow - name: Run E2E Browser tests env: SAUCE_USERNAME: ${{ vars.SAUCE_USERNAME }} diff --git a/tests/e2e/assets/protractor-saucelabs.conf.js b/tests/e2e/assets/protractor-saucelabs.conf.js index 7ec516309eec..c0d21b5aa86d 100644 --- a/tests/e2e/assets/protractor-saucelabs.conf.js +++ b/tests/e2e/assets/protractor-saucelabs.conf.js @@ -63,23 +63,22 @@ exports.config = { // NOTE: https://saucelabs.com/products/platform-configurator can be used to determine configuration values multiCapabilities: capabilities.map((caps) => { - const { version, platform, ...rest } = caps; - const w3cCaps = { - ...rest, - browserVersion: version, - platformName: platform, + const config = { + ...caps, + browserVersion: caps.version, + platformName: caps.platform, }; if (tunnelIdentifier) { return { - ...w3cCaps, + ...config, 'sauce:options': { tunnelName: tunnelIdentifier, }, }; } - return w3cCaps; + return config; }), // Only allow one session at a time to prevent over saturation of Saucelabs sessions.