test: group video call critical flow test (WPB-22855)#4629
test: group video call critical flow test (WPB-22855)#4629
Conversation
Ups 🫰🟨This PR is too big. Please try to break it up into smaller PRs. |
...src/androidTest/kotlin/com/wire/android/tests/core/criticalFlows/PersonalAccountLifeCycle.kt
Show resolved
Hide resolved
|
yamilmedina
left a comment
There was a problem hiding this comment.
So far so good, 🚀 I would like to see this split into smaller PRs at least logically, so this can be tracked better and we can look backwards to know what/when we added tests for group calls
- Group video call test
- QR tests
- fixes and improvements
...src/androidTest/kotlin/com/wire/android/tests/core/criticalFlows/PersonalAccountLifeCycle.kt
Show resolved
Hide resolved
|
|
||
| step("And I pause audio message after 10 seconds") { | ||
| pages.conversationViewPage.apply { | ||
| waitFor(10) // wait to allow an audio file to play |
There was a problem hiding this comment.
nitpick: maybe 5 seconds is enough since this will run on ci we should avoid big delays when possible
| waitFor(1) | ||
| step("And I play audio message") { | ||
| pages.conversationViewPage.apply { | ||
| clickPlayButtonOnAudioMessage() | ||
| } | ||
| } |
There was a problem hiding this comment.
| waitFor(1) | |
| step("And I play audio message") { | |
| pages.conversationViewPage.apply { | |
| clickPlayButtonOnAudioMessage() | |
| } | |
| } | |
| step("And I play audio message") { | |
| waitFor(1) | |
| pages.conversationViewPage.apply { | |
| clickPlayButtonOnAudioMessage() | |
| } | |
| } |
Suggestion: Let's try keep it consistent; all other waits are inside the steps performed
| val deadline = SystemClock.uptimeMillis() + timeoutMs | ||
| var lastMenuClickAt = 0L | ||
|
|
||
| while (SystemClock.uptimeMillis() < deadline) { | ||
| if (tryClickIfVisible(settingsButton)) { | ||
| return this | ||
| } | ||
|
|
||
| val now = SystemClock.uptimeMillis() | ||
| if (now - lastMenuClickAt >= 600 && tryClickIfVisible(mainMenuButton)) { | ||
| lastMenuClickAt = now | ||
| device.waitForIdle(300) | ||
| } | ||
|
|
||
| SystemClock.sleep(120) | ||
| } | ||
|
|
||
| throw AssertionError("Settings menu entry was not found within ${timeoutMs}ms.") | ||
| } |
There was a problem hiding this comment.
This is doing too much, can we split? or rename to make it clear about the delays/wait? or as a last resort to add a kdoc in the function so explains a bit the needed for this wait.



https://wearezeta.atlassian.net/browse/WPB-22855
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764The PR Description
What's new in this PR?
userSendMessageToPersonalMlsConversation), improved conversation timer lookup (personal/group fallback), and clearer failure reporting on send.FileUtilsto useMediaStoreon Android Q+ (scoped storage safe write to Downloads), with legacy path handling kept for older Android versions.SystemClock-based polling/retry across key flows (notification/consent dialogs, menu/settings click path, modal visibility/disappearance checks, download modal Save click).UiWaitUtils(waitUntilVisible,waitUntilToastIsDisplayed,iSeeSystemMessage,assertToastDisplayed) and strengthened element stabilization timing.Issues
Briefly describe the issue you have solved or implemented with this pull request. If the PR contains multiple issues, use a bullet list.
Causes (Optional)
Briefly describe the causes behind the issues. This could be helpful to understand the adopted solutions behind some nasty bugs or complex issues.
Solutions
Briefly describe the solutions you have implemented for the issues explained above.
Dependencies (Optional)
If there are some other pull requests related to this one (e.g. new releases of frameworks), specify them here.
Needs releases with:
Testing
Test Coverage (Optional)
How to Test
Briefly describe how this change was tested and if applicable the exact steps taken to verify that it works as expected.
Notes (Optional)
Specify here any other facts that you think are important for this issue.
Attachments (Optional)
Attachments like images, videos, etc. (drag and drop in the text box)
PR Post Submission Checklist for internal contributors (Optional)
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.