接受弹出窗口后,Appium 在应用程序中找不到任何元素

After Accepting a popup, Appium can’t find any element in the app

环境:- Appium 最新 1.6.4,Android 7.1.1

我有一个 appium 问题,我已经测试了在 android 本机应用程序登录屏幕上登录,关闭新弹出窗口并在下一个 activity 上按菜单按钮。在这个 activity appium 上无法获取任何元素。它也无法获取页面源。它会尝试执行任何操作并暂停无限时间,直到关闭应用程序或测试。在这一刻之前,所有的动作都执行得很好。我想不通。我的应用程序有问题吗?感觉appium在activity.

上看不到任何东西

Appium 日志:

[AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“element:click”,“params”:{“elementId”:“6”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“element:click”,“params”:{“elementId”:“6”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: click
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:true}
[AndroidBootstrap] Received command result from bootstrap
[W3C] Responding to client with driver.click() result: true
[HTTP] <-- POST /wd/hub/session/d74e0285-8c9f-48b1-9b86-963572ea80a9/element/6/click 200 3166 ms - 14
[HTTP]
[HTTP] --> POST /wd/hub/session/d74e0285-8c9f-48b1-9b86-963572ea80a9/element
[HTTP] {“using”:“xpath”,“value”:"//android.widget.EditText[contains(@resource-id,‘com.myapp:id/messageEdit’)]"}
[W3C] Calling AppiumDriver.findElement() with args: [“xpath”,"//android.widget.EditText[contains(@resource-id,‘com.myapp:id/messageEdit’)]",“d74e0285-8c9f-48b1-9b86-963572ea80a9”]
[BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[BaseDriver] Waiting up to 30000 ms for condition
[AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“xpath”,“selector”:"//android.widget.EditText[contains(@resource-id,‘com.myapp:id/messageEdit’)]",“context”:"",“multiple”:false}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“xpath”,“selector”:"//android.widget.EditText[contains(@resource-id,‘com.myapp:id/messageEdit’)]",“context”:"",“multiple”:false}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘//android.widget.EditText[contains(@resource-id,‘com.myapp:id/messageEdit’)]’ using ‘XPATH’ with the contextId: ‘’ multiple: false

甚至我们在使用 Android 应用程序时也遇到了同样的问题。尝试了很多东西,但将应用程序发送到后台并重新启动解决了我的问题。

  1. 关闭弹出窗口
  2. 将应用程序发送到后台

    def backgroundApp(duration)
     background_app duration
    end
    
  3. 应用程序将在上述持续时间后重新启动

  4. 现在尝试检查元素

希望这也能解决您的问题:)

我添加了以下功能,我的问题得到了解决。

capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "uiAutomator2");