-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Test Fixes to Run Xcode 15 in CI #22270
Conversation
The |
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.
Thanks for working on this, @jostnes ! 🙇
I've run all tests locally on Xcode 15.1 and all tests passed on iPhone and iPad. I just left a couple comments before approving this PR.
@@ -62,20 +62,29 @@ public func waitAndTap( _ element: XCUIElement, maxRetries: Int = 20) { | |||
} | |||
} | |||
|
|||
public func tapUntilCondition(element: XCUIElement, condition: Bool, description: String, maxRetries: Int = 10) { | |||
public func waitForElementAndTap(_ tapElement: XCUIElement, untilConditionOn conditionElement: XCUIElement, condition: String, errorMessage: String, maxRetries: Int = 10) { |
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'm not sure waitForElementAndTap
describes exactly what the function does? The function doesn't actually wait for the tapElement
before tapping on it.
WDYT about tapUntil(_ tapElement: XCUIElement, conditionOn conditionElement: XCUIElement, condition: String, errorMessage: String, maxRetries: Int = 10)
?
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.
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 agree, @mokagio, it makes sense to move on with this PR and address the naming in another one. 👍
"Typed" in that it expects an `enum` instead of a `String` to define the expected element state.
It became unused in the previous commit, b442842
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.
@@ -62,20 +62,29 @@ public func waitAndTap( _ element: XCUIElement, maxRetries: Int = 20) { | |||
} | |||
} | |||
|
|||
public func tapUntilCondition(element: XCUIElement, condition: Bool, description: String, maxRetries: Int = 10) { | |||
public func waitForElementAndTap(_ tapElement: XCUIElement, untilConditionOn conditionElement: XCUIElement, condition: String, errorMessage: String, maxRetries: Int = 10) { |
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.
Note: I have widget API compliance for Xcode 15 + iOS 17 lined up (#21705). So it's not a blocker if you notice anything wrong related to widgets. |
To follow up via #22323
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.
Approving this PR now as the naming issue will be addressed in #22322.
🤦♂️ I didn't notice the `!` at the start of the check when porting it over.
There's a unit test failing in the PR. I'll update with the latest trunk again to see if it solves the issue and to be able to merge this. |
@mokagio the build is good on the iOS 17+ pipeline in CI but some steps are failing on the pipeline checks linked to this PR because of should the GitHub checks be updated for this? at least one of the failing step is marked as required so we can't merge this yet. |
👋 Will the 24.0 beta be built using Xcode 15? If so, I think #21705 needs to be merged before Monday to avoid widgets breaking in the beta builds. Apologies, it's been waiting for my review for a while now, I'll get to it ASAP. |
|
App Name | ![]() |
|
Configuration | Release-Alpha | |
Build Number | pr22270-5bafb56 | |
Version | 23.9 | |
Bundle ID | org.wordpress.alpha | |
Commit | 5bafb56 | |
App Center Build | WPiOS - One-Offs #8342 |
|
App Name | ![]() |
|
Configuration | Release-Alpha | |
Build Number | pr22270-5bafb56 | |
Version | 23.9 | |
Bundle ID | com.jetpack.alpha | |
Commit | 5bafb56 | |
App Center Build | jetpack-installable-builds #7365 |
Generated by 🚫 dangerJS |
…ring This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
…-widgets-xcode-15-ios-17 This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270 --- There were conflicts because the Gutenberg version move forward on `trunk` and this branch. I resolved by keeping Gutenberg to the version here because that's the point of this branch, but given the time delta it's possible the build will fail.
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
This is necessary to get up to date with a CI configuration change that requires running on Xcode 15.1. See #22270
Description
This is the "cleaned up" version of @mokagio's PR #21921, with only the final working commit and the many experimentation commits from the original PR omitted (see original PR for more description about the changes)
The branch was tested on WPiOS-macv2-test with the UI test steps passing on every build. There are still some flaky tests, but automated retries currently handle those, and it would be better to handle them separately if they become too flaky. The current run time for UI test is still within 30 minutes (same as before).
The UI test fixes that were made:
tapUntilCondition
towaitForElementAndTap
and updated it to cover more conditions to make it more robust. The change works for now.app.dismissSavePasswordPrompt()
was readded after password screen.PR submission checklist:
RELEASE-NOTES.txt
if necessary.UI Changes testing checklist: Not a UI PR