2015-08-05 25 views

Odpowiedz

9

Załóżmy masz pole tekstowe tak: (. Ja hardcoding że tam jest wartość ("Mój tekst") przez wzgląd na przykład)

enter image description here

Nadaj mu etykietę dostępności. W tym przypadku nadaję mu etykietę "Pole tekstowe".

teraz, aby uzyskać dostęp do jego wartość, można zrobić coś takiego:

func testExample() { 

    let app = XCUIApplication()   
    let textField = app.textFields["Text Field"] 
    XCTAssertTrue(textField.value as! String == "My Text") 

    // So basically "textField.value" 
} 

Na marginesie: w razie wątpliwości, w jaki sposób uzyskać dostęp do pewnych właściwości danego XCUIElement, okazało się, że „debugDescription” bardzo pomaga.

Na przykład ustawić punkt przerwania po deklaracji majątkowych, wykonać test, czekać na aplikacji, aby zatrzymać przy zerwaniu, przejdź do lldb konsoli, wpisz „Po propertyName.debugDescription”, sprawdzić wyjście ...

enter image description here

Mam nadzieję, że to pomaga.

+0

To ostatnie trochę debug trik był bardzo pomocny, dzięki! – smac89

2

Załóżmy chcę uzyskać ciąg, który zostanie wydrukowany na pasku nawigacyjnym mojej aplikacji

enter image description here

Co zrobiłem było stworzyłem XCUIElement dla mojego paska nawigacyjnego:

XCUIApplication *app = [[XCUIApplication alloc] init]; 
XCUIElement *navBarTitle = [app.navigationBars elementBoundByIndex:0]; 

Następnie wstawiłem punkt przerwania po utworzeniu obiektu navBarTitle i skorzystałem z konsoli debugowania, aby wydrukować szczegóły obiektu navBarTitle:

print out

zobaczyć w druku z konsoli debugowania, że ​​istnieje klucz nazywa identyfikator.

Aby wyodrębnić że łańcuch z tego przedmiotu, utworzonego obiektu NSString stosując następującą metodę:

NSString *nameofuser = [navBarTitle valueForKey:@"identifier"]; 

I używana XCUIElement navBarTitle a następnie zastosowano metodę valueForKey. valueForKey wyodrębnia wartość ciągu dla identyfikatora klucza.

można przeczytać na temat tej metody tutaj: NSKeyValueCoding

valueForKey jest kluczem do odblokowania odpowiedź na to pytanie .... pun przeznaczone :)

+0

Nie mogę tego zrobić wystarczająco! "Po ..." w lldb to ratownik życia! – rhcpfan

Powiązane problemy