在解除警报后,appium不再检测到屏幕上的任何元素

时间:2017-06-07 12:07:20

标签: appium android-7.0-nougat

基本上一切都有效,直到屏幕上显示通知为止。在我解除警报i之后,appium不再检测我的任何按钮,字段等。唯一有效的方法是我将应用程序放在后台并恢复它。恢复后一切正常。 (我使用的是Appium 1.6.4,Android 7.0)。

这里有任何提示吗?

3 个答案:

答案 0 :(得分:2)

在appium项目中是known issue

我使用的解决方法:

  • 在打开对话框之前获取屏幕上任何元素的坐标(x,y)
  • 与对话框互动(例如选择元素,关闭等)
  • 关闭对话框后按坐标(x,y)点击:

new TouchAction(driver).tap(x, y).perform();

只有在按坐标点击屏幕后才能找到元素。

答案 1 :(得分:1)

Another workaround for this problem is - you can put app in background and launch again.

driver.runAppInBackground(5);

答案 2 :(得分:0)

如果您不想点击权限弹出窗口,可以使用更好的解决方案。在启动/初始化appium驱动程序之前,只需通过adb命令为相应的应用程序提供所有必需的权限,如下所示: ALLOW 弹出窗口不会显示:

        adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.READ_EXTERNAL_STORAGE
        adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.WRITE_EXTERNAL_STORAGE
        adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.ACCESS_FINE_LOCATION
        adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.CAMERA
        adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.READ_CONTACTS
        adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.WRITE_CONTACTS