2012-03-22 5 views
1

Я работаю на мой первый сценарий автоматизации пользовательского интерфейса, и я встретив отказ в deactivateAppForDuration строке ниже:IOS UI Automation deactivateAppForDuration отказ

// Verify password field is shown when app is moved to the foreground 
UIALogger.logMessage("move app to background"); 
target.deactivateAppForDuration(10); 
UIALogger.logMessage("move app to foreground"); 

Я получаю ошибку из инструментов:

Script threw an uncaught JavaScript error: Cannot perform action on invalid element: UIAElementNil from target.frontMostApp().switcherScrollView().buttons()["TimeClock"]

Что я вижу на тестовом устройстве, так это то, что приложение было переключено на задний план, и отобразился коммутатор приложений iOS. Я вижу свое приложение (TimeClock). Из сообщения об ошибке и экрана устройства появляется сообщение о том, что UI Automation не может выбрать мое приложение для перехода на передний план.

Неужели кто-нибудь еще столкнулся с этой проблемой? Есть ли работа?

Спасибо.

ответ

1

Я пробовал ваш код, и он отлично работает здесь. Если вы запустите следующий код (ничего больше) в новом файле инструментов, это работает?

var target = UIATarget.localTarget(); 
UIALogger.logMessage("move app to background"); 
target.deactivateAppForDuration(1); 
UIALogger.logMessage("move app to foreground"); 

Обратите внимание: Инструменты является не всегда показывать вам точно где ошибка происходит. Иногда это несколько строк выше или ниже строки, которую она показывает. НО: причина, почему ошибка произошла правильно. Я признаю, что у вас есть ошибка в этой строке, что я предполагаю, что вы звоните после возвращения из трамплина:

Script threw an uncaught JavaScript error: Cannot perform action on invalid element: UIAElementNil from target.frontMostApp().switcherScrollView().buttons()["TimeClock"] 

Вы уверен, что элемент switcherScrollView().buttons()["TimeClock"] существует в вашем приложении и доступны?

+2

В этом случае 'switcherScrollView()' представляет собой элемент управления переключателем на самом устройстве, а не в приложении. 'switcherScrollView(). buttons() [" TimeClock "]' представляет значок своего приложения в коммутаторе приложений. – Darc

1

У меня была та же проблема. Перезагрузка моего устройства решила его для меня.

+0

Перезапуск симулятора в этом случае, но это сработало и для меня. –

Смежные вопросы