欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WebDriver API(16)处理 HTML5 的视频播放

程序员文章站 2022-05-11 10:10:23
...

目前 HTML5 技术已经渐渐成为了主流,主流的浏览器都已支持 HTML5。越来越多的应用使用了 HTML5 的元素,如 canvas,video 等,另外网页存储功能更增加了用户的网络体验,使得越来越多的开发者在使用这样的标准,所以我们也需要学习如何使用自动化技术来测试它们。

WebDriver 支持在指定的浏览器上测试 HTML5,另外,我们还可以使用 JavaScript 来测试这些功能,这样就可以在任何的浏览器上测试 HTML5 了。

大多数浏览器使用控件(如 Flash) 来播放规频,但是,不同的浏览器需要使用不同的插件。HTML5 定义了一个新的元素<video>,指定了一个标准的方式来嵌入电影片段,该元素提供了 JavaScript 接口和多种方法及属性; IE9+、Firefox、Opera、Chrome都支持该元素。

public static void main(String args[]) throws InterruptedException {
    WebDriver driver = new ChromeDriver();
    driver.get("http://videojs.com/");

    WebElement video = driver.findElement(By.xpath("//body/section/div/video"));  //获取video控件
    JavascriptExecutor jse = (JavascriptExecutor)driver;

    jse.executeScript("return arguments[0].currentSrc;",video);     //获得视屏的 URL
    jse.executeScript("return arguments[0].play()", video);         //播放视屏,播放 15 秒钟
    Thread.sleep(15000);

    jse.executeScript("arguments[0].pause()", video);               //暂停视屏
    driver.quit();
}

JavaScript 函数有个内置的对象叫作 arguments。

  • argument 对象包含了函数调用的参数数组,[0]表示取对象的第 1 个值。
  • currentSrc 返回当前音频/视频的 URL。如果未设置音频/视频,则返回空字符串;
  • load()、play()、pause() 等控制着视频的加载、播放和暂停。