【问题标题】:Selenium Appium Java Android Chrome BrowserSelenium Appium Java Android Chrome 浏览器
【发布时间】:2019-02-09 16:46:46
【问题描述】:

我正在使用 Selenium Appium Web 驱动程序在 Android Chrome 浏览器上进行自动化测试视频。我必须从字段中读取文本。文本在页面上存在 5 秒。 Appium 大约需要 10 秒来处理请求。由于 Appium 的处理时间长,我无法读取该对象。我尝试了所有可能的选择。你能帮我解决这个问题吗

【问题讨论】:

  • 这是一个有趣的常见问题。您能否澄清以下几点:1.您如何在项目中设置Appium? Appium 功能是在与自动化代码相同的类中处理还是预先初始化的?了解这些信息非常重要。 2.您使用什么方法进行自动化?如果自动化涉及从页面读取/写入动态内容,页面对象模型方法非常适合,您是否在做类似的事情?如有必要,分享代码/sn-p。
  • 另外我认为组织自动化代码非常重要,以便在您描述的这种情况下按时间顺序(如果需要)优先考虑目标元素内容。随意描述/提及您提到的 Appium 正在处理的其他请求。
  • 我的脚本在 Android 设备 -> Chrome 浏览器上运行。工作流程是:打开 url HTML 5 视频播放器开始播放视频在视频开始时我得到视频广告广告持续时间为 6 秒并出现在文本字段中我必须阅读文本值。
  • 您能否稍微重构一下您的代码并尝试以下方法: 1. AppiumDriver 和 MobileElement(如果在跨平台移动自动化上工作)。 2. AndroidDriver 和 AndroidElement 如果专门在 Android 平台上工作。

标签: java android selenium google-chrome appium


【解决方案1】:

您可以使用 explicitWait

public static void ExplicitWait(WebElement element) {
        (new WebDriverWait(driver, 30)).until(ExpectedConditions
                .visibilityOf(element));
    }

它将等待 30 秒,直到元素可见。如果元素在 30 秒内不可见,则抛出异常。

【讨论】:

  • 我认为这不是正在解决的问题。问题是目标元素的目标内容在 Appium 处理请求时变得不可用。
  • 我的脚本在 Android 设备 -> Chrome 浏览器上运行。工作流程是:打开 url HTML 5 视频播放器开始播放视频在视频开始时我得到视频广告广告持续时间为 6 秒并出现在文本字段中我必须阅读文本值。
  • xpath /hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android。 widget.FrameLayout[1]/android.widget.FrameLayout[2]/android.webkit.WebView/android.view.View[2]/android.view.View[4]/android.view.View/android.view。 View/android.view.View[5]/android.view.View 你能指导我解决这个问题吗?
猜你喜欢
  • 2014-02-20
  • 2018-10-23
  • 1970-01-01
  • 2020-09-16
  • 2015-05-07
  • 2021-03-07
  • 1970-01-01
  • 2019-12-19
  • 2018-09-11
相关资源
最近更新 更多