2013-10-16 13 views
5

Używam kalabasy do testowania mojej aplikacji na iPhone'a. W mojej aplikacji używam okna alertu na poziomie systemu do włączania bieżącej lokalizacji. Muszę określić, czy na ekranie są wyświetlane okna dialogowe z alertami. Ale nie jestem w stanie zidentyfikować okna dialogowego alertu na poziomie systemu. Próbowałem poniżej skryptu. ale nie działa.wchodzi w interakcję z okienkiem alertu na poziomie systemu w tykwie ios

query("view:'UIAlertView'",:message) 
element_exists("alertView child label marked:'#{message}'") 

proszę mi pomóc. Muszę kliknąć przycisk "OK" w oknie dialogowym.

Odpowiedz

6

Myślę, że według "alertu na poziomie systemu" masz na myśli alert generowany przez system operacyjny.

Przykładami tego rodzaju alertów są "Niektóre aplikacje chcą używać Twojej lokalizacji" i "Niektóre aplikacje chcą wysyłać Ci powiadomienia".

Aby wchodzić w interakcje z tymi alertami, musisz korzystać z funkcji uia_ * i musisz zezwolić na używanie kalabasku do uruchamiania aplikacji za pomocą Instrumentów.

# check if the alert exists 
if uia_query(:alert).count > 0 
    # dismiss by touching 'OK' 
    uia_tap_mark 'OK' 
end 
+0

Działa to tylko w przypadku iOS 8, a nie iOS 7 (Xcode 6.4). Problem wydaje się pochodzić z ui_query, który zwraca limit czasu. Jakieś pomysły ? – Macistador