-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
[NoQA] dev: improve e2e tests DX #37008
[NoQA] dev: improve e2e tests DX #37008
Conversation
npm has a |
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
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.
looks good to me, thanks for testing locally
@AndrewGable all yours
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
error(`\r❌ ${text} ${getTimeText()}\n`); | ||
}, | ||
}; | ||
module.exports = { |
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.
@hannojg What was the reason of changing es6 export
with module.exports
?
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.
I have a TS check failing in one of my Draft PRs after this update, so I want to make sure if it was on a purpose or just by accident
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 I think that happened by accidence, Feel free to change back to es6 export !
🚀 Deployed to staging by https://github.com/AndrewGable in version: 1.4.44-0 🚀
|
🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.44-13 🚀
|
Details
I changed a few things to increase the DX of the e2e tests (because right now it's kinda hard to work with it).
Improve logging
While improving the stability of the e2e tests I noticed that the logging was not the best it could be. I was debugging an issue and the log file I got from AWS looked like this (the test failed, but it printed it succeeded. Its hard to read that log in general as it contains some weird characters and the formatting is off):
Example of a previous log:
or here is an example where we would have pages long the same log lines:
Also its missing timestamps, which makes it hard to connect events from different logs.
Example of a new log:
I cleaned up the logging utilities, made it easier to understand, and now a output looks like this:
Also the log file is now in better shape, containing no weird chars, long line breaks, or endless logs of the same:
Remove unused code
There was a lot of code which no-one really seemed to use, and which made understanding the logic in the
testRunner
module harder to understand.Before the
testRunner
was containing a lot of logic for build the app. In reality the developer or CI system is building the app before conducting any e2e tests, so that logic was never really used.Due to that the code of the
testRunner
went from 439 loc to 249 loc.Update documentation
As I removed a lot of code I updated the documentation to reflect the latest state of the e2e tests.
Fixed Issues
$
PROPOSAL:
Tests
Dev/CI only change, no tests needed.
Offline tests
QA Steps
Dev/CI only change, no tests needed.
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Dev/CI only change, no screenshots needed.
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop