2017-04-27 1 views
0

Ich bin ein Neuling für jede Art von iOS-Programmierung. Ich versuche, UI-Testfälle für eine meiner Szenen zu schreiben.Zugriff auf Elemente in einer benutzerdefinierten Ansichtskomponente in Swift 3 UI-Test

Folgendes ist der Code, den ich erhalte, wenn ich die recode-Methode benutze und auf die benutzerdefinierte Komponente tippe.

let button = XCUIApplication().children(matching: .window).element(boundBy: 0).children(matching: .other).element.children(matching: .button).element 

In dieser benutzerdefinierten Komponente gibt es zwei Schaltflächen. Ich möchte wissen, welcher Button ausgewählt ist. Dafür muss ich den Button identifizieren. Aber ich bekomme den gleichen Code, wo immer ich auf die benutzerdefinierte Ansicht tippe.

Wie kann ich auf jede Komponente innerhalb der benutzerdefinierten Ansicht zugreifen. Jede Hilfe wäre großartig.

Antwort

2

hinzufügen Zugänglichkeit Kennung Ihrer benutzerdefinierten Ansicht in den Code der App zu sehen.

let customView: UIView! 
customView.accessibilityIdentifier = "myCustomView" 

zugreifen dann den Inhalt wie folgt aus:

let app = XCUIApplication() 
let customView = app.otherElements["myCustomView"] 
let button1 = customView.buttons.element(boundBy: 0) 
let button2 = customView.buttons.element(boundBy: 1) 
XCTAssertTrue(button1.isSelected) 
XCTAssertFalse(button2.isSelected) 

Beachten Sie, dass Ihre Test-deterministisch zu machen, sollten Sie bereits wissen, welche Taste (n) ausgewählt werden soll. Dies stellt sicher, dass Ihr Test jedes Mal, wenn er ausgeführt wird, dasselbe testet.

Verwandte Themen