Skip to content

Safari/webkit tests fail with "page.goto: An SSL error has occurred and a secure connection to the server cannot be made" #25840

Open
@GrayedFox

Description

@GrayedFox

Current behavior

All of my tests run fine locally using Chrome, Electron, Chromium, and Edge. They mostly work with Firefox (I skip a bunch that rely on iFrames) -- but I cannot get any of them to run on Safari.

The error is this:

page.goto: An SSL error has occurred and a secure connection to the server cannot be made.
=========================== logs ===========================
navigating to "https://artifacts.carted.dev/__/#/specs/runner?file=src/integration/cart-crud.cy.ts", waiting until "load"
============================================================
page.goto: An SSL error has occurred and a secure connection to the server cannot be made.
=========================== logs ===========================
navigating to "https://artifacts.carted.dev/__/#/specs/runner?file=src/integration/cart-crud.cy.ts", waiting until "load"
============================================================
    at b.reset (<embedded>:2760:14600)
    at async b.create (<embedded>:2760:13873)
    at async Object.g (<embedded>:2760:20738)
    at async Object.open (<embedded>:2760:25227)
    at async v.relaunchBrowser (<embedded>:2812:346666)

It's unclear why this happens as the actual URL in question is exposed -- and has a valid SSL cert. Is it possible that Cypress isn't passing the URL correctly to the underlying Playwright instance?

https://artifacts.carted.dev/__/#/specs seems incorrect (expecting to see entire URL plus path).

Desired behavior

Run tests in Safari as expected.

Test code to reproduce

The easiest way to reproduce this is with the following tests. Make sure to pass the correct baseUrl when running the tests.

// passes if baseUrl set to https://docs.cypress.io
describe('super simple test', () => {
  it('navigates to the target URL', () => {
    cy.visit('https://docs.cypress.io/api/commands/visit');
    cy.url().then((string) => expect(string === 'https://docs.cypress.io/api/commands/visit', 'Yay'));
  });
});
// fails even if baseUrl set to https://artifacts.carted.dev
describe('super simple test', () => {
  it('navigates to the target URL', () => {
    cy.visit('https://artifacts.carted.dev/elements/exported/1559/dist/index.html');
    cy.url().then((string) => expect(string === 'https://artifacts.carted.dev/elements/exported/1559/dist/index.html', 'Yay'));
  });
});

That exposed build URL has a valid SSL certificate and I can access it using Safari on my MacBook just fine.

Cypress Version

11.2.0

Node version

18.9.1

Operating System

Mac Os Ventura 13.2 (x86)

Debug Logs

https://pastebin.com/7AdwacJd

Other

Above is the output using DEBUG=cypress:server*

Metadata

Metadata

Assignees

No one assigned

    Labels

    E2EIssue related to end-to-end testingTriagedIssue has been routed to backlog. This is not a commitment to have it prioritized by the team.browser: webkitIssue related to Webkit (Safari) browserexperiment: webkitIssues when using experimentalWebkitSupporttype: bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions