-
Notifications
You must be signed in to change notification settings - Fork 4
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
[Internal review] playwright: Update to latest versions and add new page objects #75
Conversation
bae3c0f
to
5075292
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent job, thank you!
I also tested the VS Code Playwright extension a bit more and it really seems to be very helpful. Thanks for updating Playwright and pointing us to this nice extension!
Also the new page objects are pretty neat.
I just had a few comments, especially about updating and clarifying the documentation. Otherwise, this looks great. Thanks!
// check if first segment folder needs to be expanded first (if folder has never been expanded, it will not show the compact folder structure) | ||
const firstSegment = path.split('/')[0]; | ||
const selector = this.treeNodeSelector(firstSegment); | ||
const folderElement = await viewElement?.$(selector); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this safe, if the files have not been yet loaded into the file explorer? We recently had a few flaky tests because we expected file nodes whereas the file explorer has not yet been populated. Therefore, we've switched to waits in a few places, see
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you double-check the changes of the two PRs above to avoid re-introducing flakiness with the compact file support?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh sorry I overlooked that previously. I added a waitForVisibleFileNodes
to the compact file state getter.
Ah and also please make sure the fixes of eclipse-theia#12373 and eclipse-theia#12310 are incorporated (also in new code) to avoid having flaky file explorer tests again. |
5075292
to
8eecfcb
Compare
Thank you very much for your review @planger! |
299b7e8
to
2206bc3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent, thank you!
If I didn't misunderstand anything, we don't install the dependencies of this package when running yarn
in the root, right? Because I think there has been a change (eclipse-theia#12248) to avoid that on purpose and with that avoid slowing down the Theia build. Thus, we should make sure building the root Theia repo doesn't automatically download the Playwright dependencies.
Just a few more minors below. If those are addressed / confirmed, feel free to open the PR against Theia directly.
Thank you!
// check if first segment folder needs to be expanded first (if folder has never been expanded, it will not show the compact folder structure) | ||
const firstSegment = path.split('/')[0]; | ||
const selector = this.treeNodeSelector(firstSegment); | ||
const folderElement = await viewElement?.$(selector); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you double-check the changes of the two PRs above to avoid re-introducing flakiness with the compact file support?
- Update `playwright` to the latest version - Update test configuration to adapt to latest version - Remove obsolete multiple config files and scripts - Add page objects for OutputView, OutputChannel, Toolbar, MonacoEditor - Extend tests by testing the new page objects - Extend ExplorerView tests with compact folders - Extend QuickCommand tests - Update GETTING_STARTED.md and DEVELOPING.md - Update build script to use ensure clean and lint are called - Ensure all necessary playwright dependencies are installed on initial build Signed-off-by: Nina Doschek <[email protected]>
2206bc3
to
bfecfc9
Compare
Thanks again @planger, I doublechecked again, I was not aware of that earlier change, but that makes a lot of sense now. As the prepare script was removed, we lost some functionality (i.e. clean and lint) which I now packed into the build script. |
Closing in favour of eclipse-theia#12384 |
What it does
playwright
to the latest versionSigned-off-by: Nina Doschek [email protected]
How to test
yarn test:playwright
from root directoryReview checklist
Reminder for reviewers