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() 等控制着视频的加载、播放和暂停。