chore : verify e2e tests in CI#709
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 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".
| await page.waitForURL(/idbroker.*webex\.com/); | ||
| 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(); |
There was a problem hiding this comment.
Match the post-login URL with a glob or slash
When the Webex login redirects back to the developer portal, the browser URL is serialized as https://developer.webex.com/, but Playwright treats a string without wildcards as an exact URL match. This setup step waits for https://developer.webex.com without the trailing slash, so the meetings setup can time out before it ever copies the token; use a glob/regex or the trailing-slash URL for the navigation wait.
Useful? React with 👍 / 👎.
| 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.
Select the actual join button label
The widget code itself looks up the join control as button[aria-label="Join meeting"], and the previous WDIO page object also clicked the Join meeting control. This locator instead waits for Muted, video off or Unmuted, video on, so every test that calls joinMeetingBtn.click() will time out before joining a meeting.
Useful? React with 👍 / 👎.
| const projects = testScope === 'cc' ? ccProjects | ||
| : testScope === 'meetings' ? meetingsProjects | ||
| : [...ccProjects, ...meetingsProjects]; |
There was a problem hiding this comment.
Keep the CC workflow scoped to CC tests
I checked the e2e_test_cc_widgets workflow step and it still runs yarn run test:e2e; with this new unscoped default it now starts and runs both the CC projects and the meetings projects. That makes the non-continue-on-error CC job duplicate the dedicated meetings job and block on meetings auth/selectors whenever run_e2e is used, so either the workflow should use the new test:e2e:cc script or the default should remain CC-only for existing callers.
Useful? React with 👍 / 👎.
COMPLETES #NA
i made some changes to the CI config for playwright, verifying if the tests work after the changes.
< DESCRIBE THE CONTEXT OF THE ISSUE >
by making the following changes
< DESCRIBE YOUR CHANGES >
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.