chore(meetings): migrate meetings e2e tests to playwright#704
chore(meetings): migrate meetings e2e tests to playwright#704riteshfyi wants to merge 7 commits into
Conversation
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`.
|
This pull request is automatically being deployed by Amplify Hosting (learn more). |
💡 Codex ReviewIn the widget source, focus management looks for Lines 94 to 96 in 32ae068 When ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
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.
There was a problem hiding this comment.
💡 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".
| const projects = testScope === 'cc' ? ccProjects | ||
| : testScope === 'meetings' ? meetingsProjects | ||
| : [...ccProjects, ...meetingsProjects]; |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
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)$/ }); |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2a79a00fdb
ℹ️ 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".
| needs: [install, build] | ||
| env: | ||
| DOTENV_CONFIG_QUIET: true | ||
| \ needs: [install, build] |
There was a problem hiding this comment.
Remove the stray backslash before needs
In the pull-request workflow, this leading backslash makes the YAML invalid before GitHub Actions can schedule any jobs; parsing this file now fails at the e2e_test_cc_widgets block, so the PR workflow cannot run at all until needs is restored as a normal job key.
Useful? React with 👍 / 👎.
| @@ -11989,22 +11401,15 @@ __metadata: | |||
| "@momentum-ui/core": "npm:19.16.0" | |||
| "@momentum-ui/icons": "npm:8.28.5" | |||
| "@momentum-ui/react": "npm:^23.21.4" | |||
| "@playwright/test": "npm:^1.51.1" | |||
There was a problem hiding this comment.
Keep the widget lock entry in sync
This added workspace lock entry says @webex/widgets depends on @playwright/test, but the package manifest no longer declares that dependency; with the repository's Yarn 4 install in CI, immutable installs abort when the lockfile would be modified, so the install job will fail until the dependency is either added to packages/@webex/widgets/package.json or removed by regenerating the lockfile.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
yarn itsefl didn't pick this, i have updated the file
| timeout-minutes: 50 | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| DOTENV_CONFIG_QUIET: true |
There was a problem hiding this comment.
the latest versions of dotenv, have promotions added in logs, so to remove those logs, this flag is set
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 08a1d1491e
ℹ️ 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".
| await page.getByRole('textbox', { name: /^Welcome / }).waitFor({ state: 'visible', timeout: 30000 }); | ||
| await page.getByRole('textbox', { name: /^Welcome / }).fill(process.env.PW_MEETING_PASSWORD); | ||
| await page.getByRole('button', { name: 'Sign In' }).click(); | ||
| await page.waitForURL(DEVELOPER_WEBEX_URL); |
There was a problem hiding this comment.
Use a non-exact wait after Webex login
When the developer portal redirects back to its canonical https://developer.webex.com/ URL, this wait does not match because DEVELOPER_WEBEX_URL lacks the trailing slash and Playwright treats strings without wildcards as exact URL matches (docs). The setup project then times out before writing PW_MEETING_ACCESS_TOKEN, so meeting E2E runs fail immediately after login; include the canonical slash or use a glob/regex here.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
nah, this works properly, verifed
There was a problem hiding this comment.
there is a 10 min timeout in the job itself, so not worries for that
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
The following scenarios were tested
< ENUMERATE TESTS PERFORMED, WHETHER MANUAL OR AUTOMATED >
The GAI Coding Policy And Copyright Annotation Best Practices
Checklist before merging
Make sure to have followed the contributing guidelines before submitting.