Skip to content

tooling(meetings): migrate meetings e2e tests to playwright#704

Open
riteshfyi wants to merge 4 commits into
webex:nextfrom
riteshfyi:meetings-upgrade
Open

tooling(meetings): migrate meetings e2e tests to playwright#704
riteshfyi wants to merge 4 commits into
webex:nextfrom
riteshfyi:meetings-upgrade

Conversation

@riteshfyi

@riteshfyi riteshfyi commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

COMPLETES #NA

This pull request addresses

< DESCRIBE THE CONTEXT OF THE ISSUE >
We had our meetings widget e2e tests moved from wdio to playwright.

by making the following changes

1.remove wdio dependencies
2. added playwright config , dependenices
3. moved tests from wdio to playwright.

Change Type

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Tooling change
  • Internal code refactor

The following scenarios were tested

  • The testing is done with the amplify link
    < ENUMERATE TESTS PERFORMED, WHETHER MANUAL OR AUTOMATED >

The GAI Coding Policy And Copyright Annotation Best Practices

  • GAI was not used (or, no additional notation is required)
  • Code was generated entirely by GAI
  • GAI was used to create a draft that was subsequently customized or modified
  • [] Coder created a draft manually that was non-substantively modified by GAI (e.g., refactoring was performed by GAI on manually written code)
  • Tool used for AI assistance (GitHub Copilot / Other - specify)
    • Github Copilot
    • Other - Cursor
  • This PR is related to
    • Feature
    • Defect fix
    • Tech Debt
    • Automation

Checklist before merging

  • I have not skipped any automated checks
  • All existing and new tests passed
  • I have updated the testing document
  • I have tested the functionality with amplify link

Make sure to have followed the contributing guidelines before submitting.

@riteshfyi riteshfyi requested a review from a team as a code owner June 22, 2026 11:26
The previous merge commit included generated docs/ sample build output
(bundles and SVG assets). Remove them from version control; they remain
on disk and are regenerated by `yarn samples:build`.
@aws-amplify-us-east-2

Copy link
Copy Markdown

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-704.d1b38q61t1z947.amplifyapp.com

@chatgpt-codex-connector

Copy link
Copy Markdown

💡 Codex Review

this.joinMeetingBtn = this.controls.getByRole('button', { name: /^(Muted, video off|Unmuted, video on)$/ });

P1 Badge Locate the join button by its actual accessible name

In the widget source, focus management looks for button[aria-label="Join meeting"] (packages/@webex/widgets/src/widgets/WebexMeetings/WebexMeetings.jsx), and the architecture docs describe the muted/video text as the JoinControl hint rather than the button name. With this exact-name locator, the first joinMeetingBtn.click() in both migrated suites will time out instead of clicking Join meeting, so the new Playwright meetings e2e tests cannot get past the join step; target the Join meeting button/aria-label instead.


const projects = testScope === 'cc' ? ccProjects
: testScope === 'meetings' ? meetingsProjects
: [...ccProjects, ...meetingsProjects];

P2 Badge Restrict unscoped e2e runs in the CC job

When TEST_SCOPE is unset this default now schedules both CC and meetings projects. I checked .github/workflows/pull-request.yml, and the e2e_test_cc_widgets job still runs yarn run test:e2e without setting TEST_SCOPE, so that non-continue-on-error CC job will also run the new developer.webex.com meetings setup/specs and make meetings failures block the CC e2e workflow despite the separate meetings job being best-effort. Update that workflow to test:e2e:cc or keep the unscoped default from adding meetings there.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

This changelog source file was inadvertently removed in the docs build
artifact cleanup. It is a real source file and belongs in version control.
@riteshfyi riteshfyi added validated Indicates that the PR is ready for actions run_e2e Add this label to run E2E test for meeting and CC widgets labels Jun 22, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5fb20e33f5

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread playwright.config.ts
Comment on lines +94 to +96
const projects = testScope === 'cc' ? ccProjects
: testScope === 'meetings' ? meetingsProjects
: [...ccProjects, ...meetingsProjects];

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Scope unqualified e2e runs to one setup

When yarn run test:e2e is used (the cc widgets workflow still does this in .github/workflows/pull-request.yml), this default branch schedules both the CC OAuth setup and the new meetings setup together. Both setup files read/modify/write the same root .env without any dependency between them, so under the existing parallel Playwright run the last writer can drop the other setup's generated tokens and leave either CC or meeting tests without credentials; use the scoped script in the workflow or serialize/merge the setup writes.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

this is addressed in the workflow update pr

this.unmuteAudioBtn = this.controls.getByRole('button', { name: 'Unmute' });
this.muteVideoBtn = this.controls.getByRole('button', { name: 'Stop video' });
this.unmuteVideoBtn = this.controls.getByRole('button', { name: 'Start video' });
this.joinMeetingBtn = this.controls.getByRole('button', { name: /^(Muted, video off|Unmuted, video on)$/ });

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Target the actual Join meeting button

When the migrated suite reaches the join step, this locator only matches buttons named with the muted/unmuted state, but the widget's pre-join control is still exposed and queried as aria-label="Join meeting" in packages/@webex/widgets/src/widgets/WebexMeetings/WebexMeetings.jsx, and the removed WDIO page clicked the visible Join meeting control. In that state Playwright will not find/click the join button, so the tests time out before verifying the in-meeting UI.

Useful? React with 👍 / 👎.

@riteshfyi riteshfyi changed the title tooling: migrate meetings e2e tests to playwright chore(meetings): migrate meetings e2e tests to playwright Jun 22, 2026
@riteshfyi riteshfyi changed the title chore(meetings): migrate meetings e2e tests to playwright fix(meetings): migrate meetings e2e tests to playwright Jun 22, 2026
@riteshfyi riteshfyi added run_e2e Add this label to run E2E test for meeting and CC widgets and removed run_e2e Add this label to run E2E test for meeting and CC widgets labels Jun 22, 2026
@riteshfyi riteshfyi changed the title fix(meetings): migrate meetings e2e tests to playwright tooling(meetings): migrate meetings e2e tests to playwright Jun 23, 2026
@riteshfyi

Copy link
Copy Markdown
Contributor Author

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

Labels

run_e2e Add this label to run E2E test for meeting and CC widgets validated Indicates that the PR is ready for actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant