Skip to content

Add Playwright Configuration and Connector for Acceptance Tests #9

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

jbouwman-zig
Copy link

This pull request introduces a Playwright configuration file (test/codecept.playwright.conf.js) for running acceptance tests. The configuration mirrors the existing Puppeteer setup, providing compatibility with the Playwright framework. Additionally, a PlaywrightConnector class has been implemented to handle request mocking, recording, and replaying. This connector integrates seamlessly with Playwright, enabling advanced testing capabilities such as route interception and request handling. Key changes include:
New Playwright configuration file with browser options and helpers.
Implementation of PlaywrightConnector for request management.
Alignment with the existing Puppeteer-based testing structure.
These changes enhance the flexibility and extensibility of the testing framework.

@kobenguyent kobenguyent requested a review from Copilot May 12, 2025 13:26
Copy link

@Copilot 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 pull request introduces Playwright support for acceptance tests by adding a new configuration file and implementing a connector for request mocking, recording, and replaying.

  • Introduces a new Playwright configuration file with browser options and helper integrations.
  • Implements PlaywrightConnector to mirror the existing Puppeteer-based testing setup while enabling route interception.

Reviewed Changes

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

File Description
test/codecept.playwright.conf.js Provides Playwright-specific test configuration including browser arguments and helper settings.
connector/Playwright.js Implements a connector class for handling Playwright routes with record/replay and mock request support.
Comments suppressed due to low confidence (1)

connector/Playwright.js:6

  • [nitpick] The parameter 'Playwright' could be clearer; consider renaming it to 'playwrightInstance' or a similar name to better indicate that it is an instance being used.
constructor(Playwright, options = {}) {

@kobenguyent kobenguyent requested a review from Copilot May 12, 2025 13:41
Copy link

@Copilot 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 pull request adds support for acceptance tests using Playwright by introducing a new configuration file and a connector class that mirrors the existing Puppeteer-based setup.

  • Added test/codecept.playwright.conf.js for Playwright-specific configuration.
  • Implemented connector/Playwright.js for request mocking, recording, and replaying, maintaining consistency with the current testing structure.

Reviewed Changes

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

File Description
test/codecept.playwright.conf.js New configuration file defining Playwright browser options and test settings.
connector/Playwright.js New PlaywrightConnector class for managing request interception, recording, and replay.
Comments suppressed due to low confidence (1)

connector/Playwright.js:169

  • [nitpick] Consider using a more specific error logging method (e.g., output.error) to better differentiate error messages from standard logs during disconnection.
output.log('Error during Playwright disconnect:', err.message);

@kobenguyent kobenguyent requested a review from Copilot May 13, 2025 07:54
Copy link

@Copilot 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 pull request introduces a Playwright configuration file and a corresponding connector to handle advanced request mocking, recording, and replaying for acceptance tests.

  • Added a Playwright configuration file that mirrors existing Puppeteer settings.
  • Implemented a PlaywrightConnector class for streamlining request management within tests.

Reviewed Changes

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

File Description
test/codecept.playwright.conf.js New configuration file for Playwright acceptance tests.
connector/Playwright.js New connector for handling request mocking, recording, and replaying.
Comments suppressed due to low confidence (1)

connector/Playwright.js:48

  • Consider pre-compiling the regex patterns for 'handler.urls' when registering mock routes instead of creating a new RegExp on every request, which could improve performance with large or frequently used route lists.
if (handler.method === method && handler.urls.some(u => new RegExp(u).test(url))) {

@kobenguyent
Copy link

kobenguyent commented May 14, 2025

@jbouwman-zig I noticed there are several actions provided by CodeceptJS - Playwright that somehow relate to those changes. May you check if that's sufficient without using this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants