Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 31, 2025

Cypress cannot navigate across sites, blocking OIDC workflow testing. Playwright supports cross-site navigation.

Changes

Replaced testing framework

  • Removed Cypress (4.12.1), @testing-library/cypress, eslint-plugin-cypress, start-server-and-test
  • Added @playwright/test (1.56.1)
  • Removed 225 packages, ~4200 lines from lock file

Test infrastructure

  • playwright.config.js - webServer config auto-starts showcase dev server
  • e2e/showcase.spec.js - validates home page loads (initial test scope per requirements)
  • Updated scripts: npm test, npm run test:headed, npm run test:ui

Configuration updates

  • .eslintrc.js - removed Cypress globals and plugin
  • .gitignore - Playwright artifacts instead of Cypress
  • README.md - added testing instructions

Test implementation

test.describe('Showcase', () => {
  test('should load the showcase home page', async ({ page }) => {
    await page.goto('/');
    await expect(page).toHaveTitle(/svelte-oidc demo/);
  });
});

Playwright's webServer eliminates need for start-server-and-test wrapper.

Showcase page under test

Showcase Homepage

Current test scope limited to home page load validation. Framework now supports cross-site navigation for future OIDC flow tests.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>replace cypress with playwright for end to end tests.</issue_title>
<issue_description>Cypress is unable to navigate across sites in a test, which is necessary for end to end tests of OIDC workflows. Playwright can navigate across sites. The project should replace cypress as the e2e testing framework with playwright. At present the scope of the tests should be limited to just loading the showcase home page.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Replace Cypress with Playwright for end-to-end tests Replace Cypress with Playwright for e2e testing Oct 31, 2025
Copilot AI requested a review from dopry October 31, 2025 15:01
@dopry dopry force-pushed the copilot/replace-cypress-with-playwright branch 3 times, most recently from 9b422ea to c550b35 Compare October 31, 2025 17:31
@dopry dopry requested a review from Copilot October 31, 2025 17:34
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates the project from Cypress to Playwright for end-to-end testing and adds semantic-release for automated versioning and publishing.

Key changes:

  • Replaced Cypress with Playwright for E2E testing, including updated configuration, test scripts, and a sample test
  • Integrated semantic-release with GitHub Actions for automated versioning and NPM publishing
  • Updated CI/CD workflow to include build, test, and release steps with appropriate permissions

Reviewed Changes

Copilot reviewed 13 out of 15 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
playwright.config.js Adds Playwright configuration targeting the showcase dev server on port 5000
package.json Replaces Cypress dependencies with Playwright and semantic-release packages; updates test scripts
e2e/showcase.spec.js Creates new Playwright test file with basic showcase page load test
cypress/* Removes all Cypress configuration and test files
.releaserc.json Adds semantic-release configuration for main, next, and version branches
.gitignore Replaces Cypress output directories with Playwright equivalents
.github/workflows/cicd.yml Expands workflow to run on push to release branches, adds E2E tests and semantic-release steps
.eslintrc.js Removes Cypress ESLint plugin and globals
README.md Updates documentation with Playwright testing instructions and semantic-release process

@dopry dopry force-pushed the copilot/replace-cypress-with-playwright branch 3 times, most recently from c9c1e23 to 90d43df Compare October 31, 2025 17:42
@dopry dopry requested a review from Copilot October 31, 2025 17:43
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 13 out of 15 changed files in this pull request and generated 2 comments.

@dopry dopry force-pushed the copilot/replace-cypress-with-playwright branch from 90d43df to a2f6c00 Compare October 31, 2025 17:49
@dopry dopry requested a review from Copilot October 31, 2025 17:50
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 13 out of 15 changed files in this pull request and generated 1 comment.

@dopry dopry force-pushed the copilot/replace-cypress-with-playwright branch from a2f6c00 to cc0f96d Compare October 31, 2025 17:55
@dopry dopry marked this pull request as ready for review October 31, 2025 17:58
@dopry dopry merged commit 36688af into main Oct 31, 2025
1 check passed
@dopry dopry deleted the copilot/replace-cypress-with-playwright branch October 31, 2025 17:58
@github-actions
Copy link

🎉 This PR is included in version 1.0.0-next.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions
Copy link

github-actions bot commented Nov 2, 2025

🎉 This PR is included in version 1.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

replace cypress with playwright for end to end tests.

2 participants