Как заставить инспектора Appium обновить его пользовательский интерфейс на Android-приложении? - PullRequest
1 голос
/ 27 июня 2019

Инспектор Appium застрял с загрузочной анимацией в разделе пользовательского интерфейса, не позволяя получить текущий пользовательский интерфейс и элементы. Как это можно обойти?

Я использую Appium 1.13.0 на Windows с реальным устройством Android и пытаюсь проверить нативное приложение React. Инспектор запускает приложение и показывает начальный экран (средство выбора среды) и позволяет просматривать / выбирать элементы, но после нажатия - показывает анимацию загрузки, которая не останавливается. Попытка обновить ничего не делает. На самом устройстве - приложение достигло нужного экрана.

Из журналов Appium вот что происходит после нажатия:

[MJSONWP (6564ecbb)] Responding to client with driver.click() result: true

[HTTP] <-- POST /wd/hub/session/6564ecbb-53f5-4c97-8456-f70f6ea3d747/element/1/click 200 141 ms - 76

[HTTP] 

[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":0,"value":true}

[HTTP] --> GET /wd/hub/session/6564ecbb-53f5-4c97-8456-f70f6ea3d747/source

[HTTP] {}

[MJSONWP (6564ecbb)] Calling AppiumDriver.getPageSource() with args: ["6564ecbb-53f5-4c97-8456-f70f6ea3d747"]

[HTTP] --> GET /wd/hub/session/6564ecbb-53f5-4c97-8456-f70f6ea3d747/screenshot

[HTTP] {}

[MJSONWP (6564ecbb)] Calling AppiumDriver.getScreenshot() with args: ["6564ecbb-53f5-4c97-8456-f70f6ea3d747"]

[AndroidBootstrap] Sending command to android: {"cmd":"action","action":"source","params":{}}

[HTTP] --> GET /wd/hub/session/6564ecbb-53f5-4c97-8456-f70f6ea3d747/window/current/size

[HTTP] {}

[MJSONWP (6564ecbb)] Calling AppiumDriver.getWindowSize() with args: ["current","6564ecbb-53f5-4c97-8456-f70f6ea3d747"]

[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"action","action":"source","params":{}}

[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION

[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: source

Ответы [ 3 ]

0 голосов
/ 27 июня 2019

Использование может использовать кнопку обновления в appium Desktop инспектора для обновления отображаемого экрана. Вы можете увидеть кнопку обновления в верхней части, как показано на следующем рисунке. enter image description here

0 голосов
/ 02 июля 2019

driver.FindElementByAndroidUIAutomator ("UiSelector (). Text (\" WHATEVER TEXT \ ")"). Нажмите ();

Благодаря ответу @Dmitri T я использовал Appium Studio для проверки элементов - которые я не мог проверить раньше из-за заставки (я полагаю). Позже я все еще не мог найти элементы с помощью XPath и других методов, опять же - вероятно, из-за заставки.

То, что наконец-то заработало, использовало FindElementByAndroidUIAutomator. Получил список использований здесь , и, наконец, я смог найти и нажать.

Я понимаю, что решение немного отличается от названия моего исходного вопроса, но эти 2 метода (Appium studio + FindElementByAndroidUIAutomator) предоставили решение для моей проблемы.

0 голосов
/ 27 июня 2019

Кажется, что Appium Inspector испытывает проблемы с получением источника страницы, попробуйте перезапустить устройство / Appium Desktop и убедитесь, что больше ничего не использует соединение adb .

Вы также можете рассмотреть возможность использованияальтернативные инструменты, обеспечивающие возможности проверки пользовательского интерфейса устройства:

  1. Инспектор макетов Android Studio
  2. Монитор устройства Android
  3. Appium Studio
...