2015-08-19 11 views
6

ich einen Test haben, die wie folgt aussieht:UITests in Xcode 7 findet falsch Button ‚Weiter‘

func testNextButtonDisabled() { 
    let app = XCUIApplication() 
    XCTAssertFalse(app.buttons["Next"].enabled) 
} 

Dieser Test schlägt fehl, da, zusätzlich zu meiner eigenen Schaltfläche „Weiter“, die ich angelegt habe, Die Return-Taste auf der Tastatur ist mit "Next" gekennzeichnet. Dieser Test schlägt fehl mit dem Fehler:

UI Testing Failure - Multiple matches found

Wie kann ich zwischen meiner eigenen Schaltfläche ‚Weiter‘ und der Tastatur Schaltfläche ‚Weiter‘ unterscheiden?

Antwort

8

Die spezifische Lösung für dieses Problem besteht darin, nach Elementen zu suchen, die vom Hauptfenster abstammen.

func testNextButtonDisabled() { 
    let app = XCUIApplication() 
    XCTAssertFalse(app.childrenMatchingType(.Window).elementBoundByIndex(0).buttons["Next"].enabled) 
} 

Für eine allgemeine Lösung Probleme wie diese zu lösen: In Xcode laufen die „Record UI Test“ wieder zu sehen, wie Xcode denkt, dass Sie das Element referenziert werden soll, in dem Sie interessiert sind.