2016-05-14 3 views
2

Я пытаюсь автоматизировать гибридное приложение, используя Appium, разработанный Ionic2/Angular2/Typcript.Как включить и использовать WebView для iOS Automation в Appium

Когда я пытаюсь идентифицировать элемент, я могу видеть элемент в WebView в Appium Inspector, но когда я пытаюсь идентифицировать их с помощью скрипта, он бросает ошибку.

An element could not be identified using given search parameter. 

error: Invalid locator strategy: partial link text 

Я пытаюсь идентифицировать elemnet через Xpath, имя, linkText, но я не могу этого сделать.

Я также включить WebView в возможности путем добавления

capabilities.SetCapability("autoWebView", "true"); 

Я использую C# для автоматизации. Может ли кто-нибудь предоставить решение?

Когда я использую Xpath это показывает Произошла неизвестная сторона сервера ошибка при обработке команды (Original ошибка: подключить ECONNREFUSED)

Выше ошибки отображается, когда я звоню var contextNames= driver.Contexts; после установки выше возможностей. Мне также нужно установить возможности для браузера ???

ответ

0

Две вещи:

. Убедитесь, что в вашем коде веб-просмотра установлено значение setWebContentsDebuggingEnabled.

. Перед доступом к элементам в веб-браузере переключите контекст и обратно после операций. Нечто похожее на приведенный ниже код в Java для переключения Webview:

Set<String> contextNames = driver.getContextHandles(); 
String setContext = contextNames.toArray()[1].toString(); 
driver.context(setContext);// set context to WEBVIEW_com.my.package 

Пожалуйста, прочтите следующие за What exactly do autoWebview does?

Для клиента точка-сеть, подобный код идет как:

var contextNames = driver.GetContexts(); //correction to your code 
driver.SetContext(contextNames[1]); // for webview_1, for native_view 0 
+0

@@ nullpointer где мне нужно установить это свойство setWebContentsDebuggingEnabled. Должен ли я попросить моего разработчика установить его в своем коде, а затем построить ipa/apk? –

+0

@SurajGupta: да, это введено в код приложения. – nullpointer

+0

Я проверил его в коде разработки, и он уже установлен как истинный. Можете ли вы прокомментировать, почему я получаю ниже ошибки при попытке извлечь все контексты, используя команду «var contextNames = driver.Contexts;» Ошибка: ** Неизвестная ошибка на стороне сервера при обработке команды (Исходная ошибка: connect ECONNREFUSED) * * –

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

  • Нет связанных вопросов^_^