【问题标题】:After dismissing the alert appium is no longer detecting any element on the screen解除警报后,appium 不再检测屏幕上的任何元素
【发布时间】:2017-06-16 15:07:49
【问题描述】:

在屏幕上显示通知之前,基本上一切正常。在我关闭警报后,appium 不再检测我的任何按钮、字段等。唯一有效的方法是我将应用程序置于后台并恢复它。恢复后一切正常。 (我正在使用 Appium 1.6.4,Android 7.0)。

这里有什么提示吗?

【问题讨论】:

  • 你可以通过使用 xpath/locators 来解除警报,而不使用 switch 来警报并尝试
  • 我正在单击仅使用 xpath 弹出权限的允许按钮。我没有使用任何切换到 ()
  • 你是否也得到了同样的切换和检查
  • 我们不能使用它,因为 appium 正在返回 java.lang.AssertionError:尚未实现。使用 driver.switchTo().alert().accept() 时出错;

标签: appium android-7.0-nougat


【解决方案1】:

在appium项目中是known issue

我使用的解决方法:

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

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

只有通过坐标点击屏幕后才会找到元素。

【讨论】:

    【解决方案2】:

    此问题的另一个解决方法是 - 您可以将应用置于后台并再次启动。

    driver.runAppInBackground(5);

    【讨论】:

    • 它对我有用。 Appium 1.6.5 和安卓 7.1.1。它再次自动启动。谢谢
    • 不适用于任何安全的生产应用,因为清单应设置为不允许第三方活动启动新 Intent。
    【解决方案3】:

    如果您不想点击权限弹出窗口,有一个更好的解决方案。在启动/初始化 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
    

    【讨论】:

    • 感谢@Vinod 允许弹出这个解决方案很好,但是即使在正常弹出后appium也会停止识别元素,例如您确定要取消此操作吗?取消并确认正常的 android 弹出窗口。
    • 这很奇怪。我们有脚本,我们可以在其中单击不同类型的弹出窗口,包括操作系统和应用程序弹出窗口,但 appium 在此之后也会继续工作。
    • 你的设备操作系统版本和Appium版本是多少..你用的是java还是c#
    • Android 6.0、Appium 1.6.4 和 Java 8
    • 直到 android 6 它工作正常,正如我在问题中提到的那样,问题从 Android 7.0 开始
    猜你喜欢
    • 2016-11-29
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 2021-08-09
    • 2019-08-13
    • 2018-10-13
    • 2018-11-08
    • 2014-09-08
    相关资源
    最近更新 更多