【问题标题】:Appium does not find element until it is tapped on mobile device. How to find element for which it does not have focus?Appium 在移动设备上点击之前不会找到元素。如何找到它没有焦点的元素?
【发布时间】:2020-01-24 07:00:39
【问题描述】:

我是自动化测试的新手。 我正在尝试自动化 UI,并希望点击汉堡菜单。

我试过了

1. MobileElement el1 = driver.findElement(By.xpath("//*[@content-desc='" + "Menu" + "']"));
    el1.click();
2. MobileElement el1 = driver.findElement(By.name("Menu)"));
    el1.click();
3. MobileElement el1 = (MobileElement) driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"Menu\"]");

在所有情况下,我都因找不到元素而出错。

但是当我在执行 el1.click() 之前手动点击测试中的菜单时,测试会成功运行。就像菜单元素获得焦点并且 appium 找到它一样。 那么如何在不点击或获得焦点的情况下执行此操作?

【问题讨论】:

    标签: android automation automated-tests appium


    【解决方案1】:

    尝试按名称查找元素。在 UI Inspector 搜索之前使用名称或任何其他定位器。如果它通过几次尝试成功搜索。有时元素具有动态标识。

    【讨论】:

      【解决方案2】:

      您能否再次尝试您的代码,但这次将功能automationName 设置为uiautomator2?您的问题听起来像我有时遇到的问题,从 UIA1 转移到 UIA2 (uiautomator2) 解决了这个问题。然而,UIA2 检测元素 IMO 的速度要慢一些。

      【讨论】:

        猜你喜欢
        • 2022-11-16
        • 2021-12-31
        • 2020-07-17
        • 1970-01-01
        • 2019-09-24
        • 2019-05-30
        • 2022-12-17
        • 2014-10-29
        • 2019-05-23
        相关资源
        最近更新 更多