2013-03-26 18 views
10

Moja aplikacja korzysta z usług lokalizacyjnych, a do testowania automatycznego chcę mieć możliwość usunięcia wyskakującego okienka "APP chce używać twojej bieżącej lokalizacji". Jednak, gdy próbuję to zrobić w instrumenty o skrypcie UIAutomation, otrzymuję ten błąd:UIAutomation: Jakikolwiek sposób, aby odrzucić alert "Chcesz używać swojej bieżącej lokalizacji"?

Fail: Could not start script, target application is not frontmost. 

Ten rodzaj ma sens, ponieważ alert jest produkowany przez inny proces. Ale jaki jest plan Apple'a, aby pomóc ludziom zautomatyzować testy w tej sytuacji?

Odpowiedz

0

Rozwiązaniem wydaje się być użycie AppleScript, uruchom po odpowiednim opóźnieniu, aby umożliwić pojawienie się alertu. Powiesz mu, aby kliknął przycisk alertu w oknie symulatora.

+1

Czy możesz zamieścić swoje rozwiązanie, proszę? –

1
**Try** 

UIATarget.onAlert = function onAlert(alert) 
     { 
     return true; 
     } 
alertTitle = target.frontMostApp().alert().name(); 
if(alertTitle==="APP Would Like To Use Your Current Location") 
{ 
target.frontMostApp().alert().buttons()["OK"].tap(); 
} 
0

Użyj tego kodu, zanim wyzwolisz okno dialogowe Żądanie lokalizacji. Zwróć uwagę na specjalne cudzysłowy wokół nazwy aplikacji.

UIATarget.onAlert = function onAlert(alert) 
{ 
    if(alert.name()=="“local” Would Like to Use Your Current Location") 
    { 
     alert.buttons()["OK"].tap(); 
    } 
    else 
    { 
     UIALogger.logFail("Location request dialog expected."); 
    } 
    return true; 
}