【问题标题】:Couldn't inspect elements on mobile Android app using uiautomator viewer无法使用 uiautomator 查看器检查移动 Android 应用程序上的元素
【发布时间】:2018-02-19 17:07:03
【问题描述】:

我正在尝试使用 selenium/java 和 appium 自动化 android 移动应用程序。我将 android 设备连接到我的电脑,并尝试在使用 uiautomator 查看器截屏后检查应用程序屏幕上的元素。但是整个屏幕都显示在单个 frameLayout 中,我无法检查框架内的每个元素。

我也尝试使用 chrome 检查,但使用 chrome 检查器未检测到元素。

有时间可以帮忙吗?

【问题讨论】:

  • 能否请您添加来自 uiautomator 的屏幕截图?
  • 您是否尝试切换到框架。我已经添加了一个示例..也尝试一下

标签: android selenium-webdriver automation appium appium-android


【解决方案1】:

这是我前段时间提出的类似问题:

How to tap on a element which is focused in appium. Unable to select value of a dropdown in appium

如果存在任何框架,您可以尝试切换到框架。

ad.switchTo().frame(ad.findElement(By.xpath("YOURXPATH")));

尝试使用driver.getPageSource();。它会返回给你 XML DOM,如果你得到了值,那就很好。为它写一个 XPath。

你只需要使用 co-ordinare 然后使用 tab

下面的代码对我有用

    By filter =By.xpath("MYLOCATOR");
    System.out.println("About to click on result");
    Point point = ad.findElement(filter).getLocation();
    int elementCenterX = point.getX() + 80;
    int elementCenterY = point.getY() + 100;
    System.out.println("value of x = "+elementCenterX+"   value of y = "+elementCenterY);
    ad.tap(2, elementCenterX , elementCenterY , 0);

注意:- 您需要在上面的代码中根据您的要求调整 X 和 Y,并传递最近的定位器,如下拉列表的文本框。

【讨论】:

    【解决方案2】:

    嘿,我遇到了同样的问题,ui automator 没有任何问题,它是手机本身。手机正在读取客体,因此当您尝试查找无法锁定的元素时。所以转到设置并点击显示将显示更改为全屏

    【讨论】:

      猜你喜欢
      • 2021-04-13
      • 2019-04-30
      • 1970-01-01
      • 2018-06-26
      • 2015-10-30
      • 2018-11-19
      • 2017-10-11
      • 2015-07-26
      • 2016-02-27
      相关资源
      最近更新 更多