【问题标题】:unable to identify pop up window in android UIautomator viewer无法识别 android UIautomator 查看器中的弹出窗口
【发布时间】:2016-10-17 08:32:03
【问题描述】:

我想检查弹出窗口,如屏幕截图所示

附上的图片是安卓应用。我正在尝试使用 Android 的 UIAutomator 查看器进行检查。在其中我无法检查前台的弹出窗口。我想在那个窗口中点击关闭

请建议是否可以检测到这一点或使用任何其他工具

感谢您的宝贵时间

【问题讨论】:

  • 能否附上带有可见元素的 UIAutomator 屏幕截图?
  • @Vinod 这是包含所有可见元素的屏幕截图。关闭按钮未被检查,但背景元素被检查
  • 我说的是 UIAutomator 的屏幕截图以及可见元素和子元素层次结构。
  • 此“关闭”弹出窗口似乎不是系统弹出窗口,因为 UIAutomator 无法识别。你试过driver.switchTO() 吗??
  • 是的,我做到了。我正在“尚未实施”

标签: android appium uiautomatorviewer


【解决方案1】:

将弹出窗口设为Focusable "true"。查看 PoupWindow 构造函数中的最后一个属性。

例子:

PopupWindow popupWindowTwo = new PopupWindow(timelineGuidanceDialog, 400, 400, **true**);

popupWindow.showAsDropDown(eventButtonView, 0, 0);

【讨论】:

  • 令人惊讶的是,这确实有效。如果您通过 setter popWindow.setFocusable(true) 执行此操作,它也可以工作。
【解决方案2】:

截至目前,这是 UiAutomator 的一个已知问题,has been reported 但没有任何解决方法。

【讨论】:

    【解决方案3】:

    我设法找到了几个可能的解决方案:

    A.似乎 android 警报通知在不同的上下文中产生。这意味着对我有用的主要解决方案是将包 ID 更改为“android”。例如:

    mAppiumDriver.findElementById("android:id/button").click();
    

    B.另一种解决方法是使用警报弹出窗口获得的焦点。 Windows 获得焦点,这意味着您仍然可以将键盘输入发送到任何特定元素。您可以使用 TAB / DPAD 键进行导航,并使用 ENTER 键“单击”特定视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-12
      • 2014-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-31
      • 1970-01-01
      相关资源
      最近更新 更多