Skip to content

Commit 4195218

Browse files
committed
ci: fix Sauce Labs E2E capabilities and SSL bumping in Sauce Connect 5
- Revert `multiCapabilities` in `protractor-saucelabs.conf.js` to use pure legacy JSON Wire Protocol (JWP) capabilities (`browserName`, `version`, `platform`, `tunnelIdentifier`). This is required by Protractor 7 (`selenium-webdriver@3.6.0`) and resolves errors across Chrome, Edge, Firefox, and Safari in `//tests:e2e.saucelabs`. - Set `tlsPassthroughDomains: all` in `.github/workflows/ci.yml` for `saucelabs/sauce-connect-action@v3` to disable SSL bumping across all domains in Sauce Connect 5.
1 parent d8e8be9 commit 4195218

2 files changed

Lines changed: 10 additions & 18 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,12 @@ jobs:
226226
region: us-west-1
227227
tunnelName: ${{ env.SAUCE_TUNNEL_IDENTIFIER }}
228228
proxyLocalhost: allow
229+
# By default we disable SSL bumping for all requests. This is because SSL bumping is not needed
230+
# for our test setup and in order to perform the SSL bumping, Saucelabs intercepts all HTTP
231+
# requests in the tunnel VM and modifies them. This can cause flakiness as it makes all requests
232+
# dependent on the SSL bumping middleware.
233+
# See: https://wiki.saucelabs.com/display/DOCS/Troubleshooting+Sauce+Connect#TroubleshootingSauceConnect-DisablingSSLBumping
234+
tlsPassthroughDomains: all
229235
- name: Run E2E Browser tests
230236
env:
231237
SAUCE_USERNAME: ${{ vars.SAUCE_USERNAME }}

tests/e2e/assets/protractor-saucelabs.conf.js

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -62,24 +62,10 @@ exports.config = {
6262
specs: ['./src/**/*.e2e-spec.ts'],
6363

6464
// NOTE: https://saucelabs.com/products/platform-configurator can be used to determine configuration values
65-
multiCapabilities: capabilities.map((caps) => {
66-
const config = {
67-
...caps,
68-
browserVersion: caps.version,
69-
platformName: caps.platform,
70-
};
71-
72-
if (tunnelIdentifier) {
73-
return {
74-
...config,
75-
'sauce:options': {
76-
tunnelName: tunnelIdentifier,
77-
},
78-
};
79-
}
80-
81-
return config;
82-
}),
65+
multiCapabilities: capabilities.map((caps) => ({
66+
...caps,
67+
tunnelIdentifier,
68+
})),
8369

8470
// Only allow one session at a time to prevent over saturation of Saucelabs sessions.
8571
maxSessions: 1,

0 commit comments

Comments
 (0)