You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add the e2e/playwright package with the component test infrastructure - #34959
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Introduces Playwright-based end-to-end testing infrastructure to the monorepo: a new e2e/playwright package for component-level tests (including screenshot/trace support and CI matrix execution), and migrates wrapper E2E tests from TestCafe to Playwright with updated CI artifact collection.
Changes:
Added e2e/playwright Nx project with Playwright runner, static server, fixtures/helpers, models, and initial tests.
Migrated e2e/wrappers E2E tests from TestCafe (*.test.js + custom runner) to Playwright (*.spec.ts + Playwright webServer).
Updated pnpm workspace/lockfile and GitHub Actions workflows to run and lint the new Playwright suites and upload Playwright reports/traces on failure.
Reviewed changes
Copilot reviewed 62 out of 66 changed files in this pull request and generated 1 comment.
Show a summary per file
File
Description
pnpm-workspace.yaml
Adds @playwright/test to the shared catalog.
pnpm-lock.yaml
Locks Playwright dependencies and adds the new e2e/playwright importer.
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 62 out of 66 changed files in this pull request and generated 3 comments.
Files not reviewed (1)
pnpm-lock.yaml: Generated file
Suppressed comments (4)
Previously missed (4) — in code that hasn't changed since the last review.
e2e/playwright/README.md:4
This sentence is misleading: even when tests use channel: 'chrome' at runtime, installing @playwright/test will still download Playwright's bundled browsers unless PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 is set. Clarifying this avoids unexpected install time/size regressions.
End-to-end tests for DevExtreme components. They run on [Playwright](https://playwright.dev/) and
use the system Google Chrome (`channel: 'chrome'`), so no browser download is needed.
e2e/wrappers/README.md:5
This sentence is misleading: using channel: 'chrome' avoids Playwright-managed browsers at runtime, but installing @playwright/test still downloads Playwright's bundled browsers unless PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 is set. Clarify to prevent unexpected install-time downloads. .github/workflows/testcafe_tests_playwright.yml:234
@playwright/test pulls in playwright, which downloads bundled browsers during pnpm install unless PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 is set. Since the suite uses system Chrome (channel: 'chrome'), consider setting this env var on the install step to keep CI installs smaller/faster.
@playwright/test installs playwright, which downloads bundled browsers during pnpm install unless PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 is set. Since these wrapper E2E tests run with channel: 'chrome', consider setting the env var on the install step to reduce CI install time/size.
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 62 out of 66 changed files in this pull request and generated 4 comments.
Files not reviewed (1)
pnpm-lock.yaml: Generated file
Suppressed comments (1)
.github/workflows/playwright_tests.yml:234
Same as the build job: add PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 during pnpm install so CI doesn’t download Playwright browsers that aren’t used when running against system Chrome (channel: 'chrome').
Documented artifact names do not match uploaded workflow artifacts
e2e/playwright/README.md:110
The documented download names do not match the artifacts produced by playwright_tests.yml: the workflow uploads playwright-report and playwright-traces, not the *-common names shown here. Following these commands after a failed run returns no matching artifact.
This helper always JSON-stringifies the mocked body, so a string response such as the XML payloads used by existing RequestMock fixtures (e2e/testcafe-devextreme/tests/common/pivotGrid/apiMocks/OLAP_api.mock.ts:29) is returned with quotes and cannot be parsed as XML. Preserve string bodies verbatim (and let the caller's content-type header apply) while JSON-encoding object bodies.
Documented artifact names do not match uploaded artifacts
e2e/playwright/README.md:110
The CI artifacts are uploaded under playwright-report and playwright-traces in the workflow, not playwright-report-common and playwright-traces-common. These documented gh run download commands therefore fail to find the artifacts; use the actual merged artifact names.
Date serialization converts Date values to strings
e2e/playwright/helpers/createWidget.ts:30
JSON.stringify invokes Date.prototype.toJSON before calling this replacer, so raw is already an ISO string here and the DATE_MARK branch is never reached for Date properties. The helper consequently sends strings instead of Date instances, contradicting the serialization contract and breaking widget callbacks/options that depend on the value being a Date; use a serialization approach that observes Dates before toJSON runs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.