Wait for iOS UI buttons to exist before tapping (#85650)

This commit is contained in:
Jenn Magder 2021-06-30 17:01:05 -07:00 committed by GitHub
parent 568ea46250
commit 69ea91bf61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,7 +17,9 @@
XCUIApplication *app = [[XCUIApplication alloc] init];
[app launch];
[app.buttons[@"Full Screen (Cold)"] tap];
XCUIElement *coldButton = app.buttons[@"Full Screen (Cold)"];
XCTAssertTrue([coldButton waitForExistenceWithTimeout:60.0]);
[coldButton tap];
XCTAssertTrue([app.staticTexts[@"Button tapped 0 times."] waitForExistenceWithTimeout:60.0]);
[app.otherElements[@"Increment via Flutter"] tap];
@ -32,7 +34,9 @@
XCUIApplication *app = [[XCUIApplication alloc] init];
[app launch];
[app.buttons[@"Full Screen (Warm)"] tap];
XCUIElement *warmButton = app.buttons[@"Full Screen (Warm)"];
XCTAssertTrue([warmButton waitForExistenceWithTimeout:60.0]);
[warmButton tap];
XCTAssertTrue([app.staticTexts[@"Button tapped 0 times."] waitForExistenceWithTimeout:60.0]);
[app.otherElements[@"Increment via Flutter"] tap];
@ -47,7 +51,9 @@
XCUIApplication *app = [[XCUIApplication alloc] init];
[app launch];
[app.buttons[@"Flutter View (Warm)"] tap];
XCUIElement *warmButton = app.buttons[@"Flutter View (Warm)"];
XCTAssertTrue([warmButton waitForExistenceWithTimeout:60.0]);
[warmButton tap];
XCTAssertTrue([app.staticTexts[@"Button tapped 0 times."] waitForExistenceWithTimeout:60.0]);
[app.otherElements[@"Increment via Flutter"] tap];
@ -62,7 +68,9 @@
XCUIApplication *app = [[XCUIApplication alloc] init];
[app launch];
[app.buttons[@"Hybrid View (Warm)"] tap];
XCUIElement *warmButton = app.buttons[@"Hybrid View (Warm)"];
XCTAssertTrue([warmButton waitForExistenceWithTimeout:60.0]);
[warmButton tap];
XCTAssertTrue([app.staticTexts[@"Flutter button tapped 0 times."] waitForExistenceWithTimeout:60.0]);
XCTAssertTrue(app.staticTexts[@"Platform button tapped 0 times."].exists);
@ -87,8 +95,9 @@
[app.buttons[@"Dual Flutter View (Cold)"] tap];
// There are two marquees.
XCTAssertTrue([app.staticTexts[@"This is Marquee"] waitForExistenceWithTimeout:60.0]);
XCTAssertEqual([app.staticTexts matchingType:XCUIElementTypeStaticText identifier:@"This is Marquee"].count, 2);
XCUIElementQuery *marqueeQuery = [app.staticTexts matchingIdentifier:@"This is Marquee"];
[self expectationForPredicate:[NSPredicate predicateWithFormat:@"count = 2"] evaluatedWithObject:marqueeQuery handler:nil];
[self waitForExpectationsWithTimeout:30.0 handler:nil];
// Back navigation.
[app.navigationBars[@"Dual Flutter Views"].buttons[@"Flutter iOS Demos Home"] tap];