Ярлыки представления предупреждения о запросе на доступ «ALAssetsLibrary» не распознаются KIF

Я пишу тест KIF, чтобы протестировать процесс адаптации приложения для iPhone, над которым я работаю. . При запросе доступа к ALAssetsLibrary появляется обычное представление предупреждений, но KIF не распознает метки специальных возможностей этого представления предупреждений.

Снимок экрана

Мой тест терпит неудачу, когда я проверяю следующее:

[tester waitForViewWithAccessibilityLabel:@"OK"];

При этом мой инспектор специальных возможностей в моем симуляторе iOS четко указывает, что это правильная метка для этого представления.

Мне интересно, связано ли это с тем, что эти представления предупреждений находятся за пределами песочницы, кто-нибудь знает, так ли это, и может ли быть какой-то обходной путь для тестирования с помощью KIF?

Любая помощь приветствуется.


person Marijn    schedule 28.04.2014    source источник


Ответы (1)


Проблема может заключаться в том, что UIAlertViews отображаются в другом окне, или, как вы подозреваете, представление предупреждений представлено из другого процесса, который должен быть недоступен для кода приложения. Есть ли способ проверить представления в другом экземпляре UIWindow?

Обновить

Как указано здесь: https://groups.google.com/forum/#!msg/kif-framework/iDBomK8kyL8/wLtlh80YrpsJ

Насколько я понимаю, сенсорные события направляются iOS в UIWindow, который затем отвечает за их обработку по своему усмотрению. KIF и его друзья используют метод, при котором сенсорные события создаются синтетически, а затем отправляются в UIWindow. Поскольку код вашего приложения не имеет доступа к UIWindow, в котором отображается окно предупреждения, ваше приложение не может отправить ему событие касания.

Конечно, вы можете вручную просмотреть окна UIApplication с помощью [[UIApplication sharedApplication] windows] или использовать [[UIApplication sharedApplication] keyWindow], но я не думаю, что среда тестирования поддерживает это.

person Pim    schedule 28.04.2014
comment
Похоже, вы правы, я нашел обсуждение это подтверждает ваши подозрения. Хотите включить эту ссылку и цитату в свой ответ? Тогда я приму это как ответ. - person Marijn; 29.04.2014