如何让Appium的检查员在Android Native App上刷新其UI?

时间:2019-06-27 08:13:12

标签: reactjs appium appium-android inspector

Appium检查器将其加载动画停留在UI部分中,不允许获取当前的UI和元素。怎么可以绕过?

我正在Windows上使用真实的Android设备运行Appium 1.13.0,并尝试检查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 :(得分:0)

Appium Inspector似乎在获取页面源时遇到麻烦,请尝试重新启动设备/ Appium Desktop,并确保没有其他设备正在使用adb连接。

您还可以考虑使用提供设备UI检查功能的替代工具:

  1. Android Studio Layout Inspector
  2. Android Device Monitor
  3. Appium Studio

答案 1 :(得分:0)

使用可以使用appium桌面检查器中的刷新按钮刷新显示的屏幕。您可以在顶部看到刷新按钮,如下图所示。enter image description here

答案 2 :(得分:0)

driver.FindElementByAndroidUIAutomator(“ UiSelector()。text(\” WHATEVER TEXT \“)”)。Click();

由于@Dmitri T的回复,我已经使用Appium Studio来检查元素-由于启动屏幕(我想),我以前无法检查这些元素。 后来,我仍然无法通过XPath和其他方法找到元素,再次-可能是由于启动屏幕。

最后的窍门是使用FindElementByAndroidUIAutomator。得到了用法列表here,最后我可以找到并单击。

我知道解决方案与原始问题的标题有些不同-但是这两种方法(Appium studio + FindElementByAndroidUIAutomator)为我的问题提供了解决方案。