Доступ к содержимому UIWebView из UI Automation в приборах - PullRequest
6 голосов
/ 08 июня 2011

У меня есть UIWebView в моем приложении, внутри которого есть ссылки, которые при нажатии приводят к выполнению различных действий в приложении.Я хотел бы иметь возможность проверить это с помощью автоматического тестирования , чтобы его можно было добавить в сборку с непрерывной интеграцией.Тем не менее, документация довольно редкая для UIAWebView, и я безуспешно пытался заставить это работать.

Кто-нибудь имел какой-либо успех во взаимодействии со ссылками внутри UIWebViewтак что вы можете проверить правильность их действий?

1 Ответ

1 голос
/ 05 июля 2011

Не можете найти способ перебора / доступа к ссылкам в UIWebView, но сработает ли это для вас?Получите доступ к источнику страницы с помощью:

NSString *source = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].outerHTML"];

, затем найдите теги, которые вы считаете ссылками (например, href = ...)

Тогда вам все еще нужно иметь возможность "нажать«эти ссылки.Достаточно ли того, что вы переходите по ссылке, указанной в ссылке?Если это так, просто используйте loadRequest для этого.Если вам нужно более продвинутое поведение (например, убедитесь, что запускаются правильные javascript-скрипты), вам потребуется больше магии для их анализа и выполнения с помощью stringByEvaluatingJavaScriptFromString.

...