2016-07-26 18 views
16

Das Problem ist, wenn ich versuche, zurück bar Schaltfläche Artikel zuzugreifen, da es mit vorgestellt:Wie kann man auf den Backbar-Button in UcodeXX unter UITests zugreifen?

  • Restaurants Titel,
  • Back Titel
  • ohne Titel

wie es ist auf den Bildschirmen:

enter image description here enter image description here enter image description here

Derzeit greife ich es so:

let backButton = XCUIApplication().buttons["Restaurants"] 

aber es wird nicht für andere Fälle zu arbeiten. Es ist kein universeller Weg. Darf ich es irgendwie accessibilityIdentifier oder etw sonst?

Antwort

19

Im Allgemeinen wird die Zurück-Taste neigt das erste Knopfelement in der Navigationsleiste

app.navigationBars.buttons.element(boundBy: 0).tap() 
+0

Ich werde es versuchen, später;) klingt vielversprechend ... –

+0

Es funktioniert ziemlich genial :) Ich kann bestätigen, ... –

+5

Sie können auch eine accessibilityIdentifier auf die Zurück-Schaltfläche hinzufügen, wenn Sie erstellen (zB 'backButton.accessibilityIdentifier =" back "') und dann einfach "app.buttons [" back "]. tap()'. –

6

hier zu sein, wie Sie es in Swift tun 3:

app.navigationBars.buttons.element(boundBy: 0).tap() 
5

Basierend auf Aaron Sofaer s Kommentar Sie können die accessibilityIdentifier auch direkt im Interface Builder einstellen.

enter image description here

+0

Können Sie dies für das backBarButtonItem tun? – skagedal

+0

Sie sollten dazu in der Lage sein, wenn Sie es in einem Storyboard/xib erstellen. – d4Rk

+0

Ah, aber nicht programmgesteuert? – skagedal