2016-07-26 18 views
16

Problem jest, gdy próbuję uzyskać dostęp do tyłu bar element przycisk, ponieważ jest przedstawiane z:Jak uzyskać dostęp do elementu przycisku z powrotem w sposób uniwersalny w obszarze UITests w Xcode?

  • Restaurants tytule
  • Back tytuł
  • bez Tytuł

jak to jest na ekranach:

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

Obecnie dostęp do niego tak:

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

ale to przyzwyczajenie praca dla innych przypadków. To nie jest droga uniwersalna. Czy mogę w jakiś sposób ustawić accessibilityIdentifier lub coś innego?

Odpowiedz

19

Generalnie przycisk wstecz wydaje się być pierwszym elementem przycisk na pasku nawigacyjnym

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

będę go wypróbować później;) brzmi obiecująco ... –

+0

Działa dość niesamowite :) Mogę potwierdzić ... –

+5

Można również dodać accessibilityIdentifier przycisku pleców podczas tworzenia to (np. 'backButton.accessibilityIdentifier =" back "'), a następnie po prostu wykonaj 'app.buttons [" back "]. tap()'. –

6

Oto jak można to zrobić w Swift 3:

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

podstawie Aaron Sofaer s komentarzu można również ustawić wartość accessibilityIdentifier bezpośrednio w programie Interface Builder.

enter image description here

+0

Czy możesz to zrobić dla backBarButtonItem chociaż? – skagedal

+0

Powinieneś być w stanie to zrobić, gdy utworzysz je w storybooku/XIB. – d4Rk

+0

Ah, ale nie programowo? – skagedal