【问题标题】:Test Video Object using Selenium Chrome Driver in Java在 Java 中使用 Selenium Chrome 驱动程序测试视频对象
【发布时间】:2016-03-11 17:13:53
【问题描述】:

我正在开发 selenium 测试,以使用 Chrome 浏览器上的 ChromeDriver 检测视频是否存在。

当下面的代码点击chromedriver.get("http://d3o006n2t0jcdj.cloudfront.net/8348d175-9468-4b6c-9781-6dba4fdf4bfd.mp4")时,它会在浏览器中打开它,并播放视频,但它永远不会点击下一行来捕获与之关联的WebElement

如何确保在 Chrome 浏览器中打开视频时,它会点击下一行以捕获“WebElement”?请让我知道我做错了什么。

try {
    chromeDriver = new ChromeDriver();
    chromeDriver.get("http://d3o006n2t0jcdj.cloudfront.net/8348d175-9468-4b6c-9781-6dba4fdf4bfd.mp4");
    WebElement videoCloudObject = chromeDriver.findElement(By.xpath("/html/body/video/source"));
    logger.info("Video Cloud Object " + videoCloudObject + " .. Moving object  " + nonDuplicateVideoList.get(i));
} catch (Exception ex) {
    logger.error("Moving object does not exist  " + nonDuplicateVideoList.get(i));
    Assert.fail("Video cannot be played as Moving image object does not exist " + nonDuplicateVideoList.get(i));
} finally {
    chromeDriver.close();
}

【问题讨论】:

    标签: java google-chrome selenium video selenium-webdriver


    【解决方案1】:

    问题出在"bare" catch 子句中。我怀疑 selenium 找到了元素,但是当您尝试在此处连接字符串和 WebElement 实例时会发生错误:

    logger.info("Video Cloud Object " + videoCloudObject + " .. Moving object  " + nonDuplicateVideoList.get(i));
    

    相反,您可能打算获取source 元素的src 属性:

    videoCloudObject.getAttribute("src")
    

    【讨论】:

    • 我在 WebElement 上添加了调试点,但看到代码没有命中它,因此 selenium 找不到该元素。它启动浏览器,代码挂起。
    • @Daksh 您能否删除异常处理并让它失败-您遇到什么错误-请发布回溯。谢谢!
    • 如果我删除异常处理 [302.282][SEVERE],我会在 Chrome broser 上看到以下消息:从渲染器接收消息超时:299.777
    • 这些测试仅在 chrome 浏览器中失败,在 Firefox 中运行良好。我正在使用 chromedriver=2.20.353145 和 chrome=45.0.2454.101
    猜你喜欢
    • 1970-01-01
    • 2011-09-16
    • 2018-12-17
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多