Based on official docs click is available for iPadOS apps.
We utilized click
action to create universal UITests for macOS and iPadOS targets.
It works fine on iPadOS 16.x but, unfortunately, stops to work in iOS 17 simulators for iPad.
Environment:
MacOS - 13.5.2 (22G91).
Xcode - Version 15.0 (15A240d).
Simulator - Version 15.0 (1015.2).
SimulatorKit 935.1.
CoreSimulator 920.6.
Steps to reproduce:
- Create new multiplatform app
- Add simple button. For example:
struct ContentView: View {
@State var title = "Click Me"
var body: some View {
VStack {
Button(title) {
title = "Clicked"
}
.background(Color.blue)
.foregroundColor(.white)
}
.padding()
}
}
- Add UITest that clicks on button. For example:
func testClick() throws {
let app = XCUIApplication()
app.launch()
app.buttons["Click Me"].click()
XCTAssertTrue(app.buttons["Clicked"].exists)
}
Expected result: test is passed
Actual result: test is failed since buttons["Click Me"].click()
doesn't click in button.
Workaround:
Replacement .click()
to .tap()
fixes the issue but it makes impossible to create universal tests with single action for both platforms