任何人都可以帮助我如何使用Selenium自动播放/暂停在网页上显示的视频..
提前致谢...
答案 0 :(得分:7)
这非常依赖于浏览器和处理视频的播放器。您很可能需要使用JavaScript执行程序。
我昨晚与朋友讨论了这个问题,他使用Webdriver的Python变体为html5demos.com的演示视频提出了以下示例:
driver = webdriver.Firefox()
driver.get("http://html5demos.com/video")
driver.execute_script('document.getElementsByTagName("video")[0].play()')
你也可以“暂停”使用“播放”的地方。
这里有一个更大的问题:你究竟想要验证什么?简单地播放和暂停不会引发任何错误?确保您知道您正在验证什么,并且实际工作以自动化视频测试而不是将该特定用例进行手动测试是有意义的。 (虽然你可以使用上面的脚本来达到这一点!)
**编辑:查看this bit of Python code(不是我的)曝光“暂停”属性。现在,您至少可以验证视频加载,启动和停止。我仍然对使用这种测试持怀疑态度,但至少它是一个开始。
答案 1 :(得分:0)
使用FlashObjectwebDriver!
现在什么是FlashObjectWebDriver?
FlashObjectWebDriver是Webdriver Library下的一个接口。 FlashObjectWebDriver有一个名为:callFlashObject的方法 callFlashObject方法可以使用参数来加载,即。 callFlashObject(“播放”):用于播放Flash callFlashObject(“Pause”):用于暂停Flash callFlashObject(“Previous”):用于播放以前的Flash视频 callFlashObject(“next”):用于播放下一个Flash视频 callFlashObject(“SetVariable”,“/:Message):用于显示消息。 实施:
FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "myFlashMovie");
// Pass the URL of video
driver.get("http://demo.guru99.com/flash-testing.html");
Thread.sleep(5000);
flashApp.callFlashObject("Play");
Thread.sleep(5000);
flashApp.callFlashObject("StopPlay");
Thread.sleep(5000);
flashApp.callFlashObject("SetVariable","/:message","Flash testing using selenium Webdriver");
System.out.println(flashApp.callFlashObject("GetVariable","/:message"));