2016-10-09 13 views
0

Я запускаю Appium на Mac, чтобы протестировать приложение Android Native прямо на устройстве Android. Однако, когда я пытаюсь извлечь контексты и переключиться на те, которые содержат WEBVIEW (когда я использую UIAutomator или Chrome DevelopTool Inspector, он существует как android.webkit.WebView), но когда я пытаюсь сделать driver.switch_to.context('WEBVIEW'), он дает мне No Context ... возвращает только один контекст, NATIVE_APP.Appium не смог показать WEBVIEW, но на самом деле существует в приложении Android Native

Когда я использую инспектор, я могу видеть WebView и много добавленных к нему дочерних элементов View, которые относятся к каждому из элементов внутри приложения. Таким образом, несмотря на то, что он не показывает дерево элементов в режиме просмотра веб-страниц, я могу видеть, что он использует WebView, но каким-то образом не может подключиться к этому конкретному контексту. enter image description here

я нахожу какой-то парень предусмотреть, что изменить desire_capability['automationName']='Selendroid' он не работает для меня из-за мои родные элементы не может быть найдено больше, если она меняется.

platform : Android 
version : 5.1.1 
device: real android device 

Любые идеи об этом, пожалуйста?

+1

Вы можете разместить снимок экрана UIAutomator в вашей WebView экрана – Vinod

+0

@Vinod Привет, я задать вопрос на GitHub также есть описание подробно об этом. https://github.com/appium/appium/issues/6973 – Kent

+0

Можете ли вы поместить некоторое ожидание перед выполнением driver.getContextHandles(); и chech ли вы все еще получаете только NATIVE_VIEW – Vinod

ответ

0

Попробуйте следующий код для переключения Webview:

Set<String> contextNames = driver.getContextHandles(); 
    for(String context : contextNames) { 
     if(context.toLowerCase().contains("web")){ 
      System.out.println("Context Name is " + context); 
      driver.context(context); 
      status=true; 
      break; 
     } 
    }  

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

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