selenium如何使用Java对自动测试进行屏幕广播?
我目前正在使用Selenium与TestNg和Java实现测试自动化。我可以在测试运行时截图,但在某些情况下,测试通过了,而在理想情况下它应该失败
那么,是否有任何java工具可以帮助记录正在运行的Selenium测试
基本上,我想将屏幕转换添加到我的框架中。我在网上搜索了很多,但没有找到任何相关的资源。欢迎任何帮助或建议
你可以在下面搜索框中键入要查询的问题!
我目前正在使用Selenium与TestNg和Java实现测试自动化。我可以在测试运行时截图,但在某些情况下,测试通过了,而在理想情况下它应该失败
那么,是否有任何java工具可以帮助记录正在运行的Selenium测试
基本上,我想将屏幕转换添加到我的框架中。我在网上搜索了很多,但没有找到任何相关的资源。欢迎任何帮助或建议
# 1 楼答案
一种方法是在每一步之后进行屏幕截图,然后将它们组合成视频。对this questions的回答为这项任务提供了两个候选库
另一个想法是,在执行测试时,使用一些浏览器插件进行屏幕播放。但我不确定如何开始录音过程。也许可以用selenium发送开始/停止录制的捷径,但我不确定这是否有效For such plugins I can't offer more than a google search
# 2 楼答案
你可以查看由Groupon创建和使用的Selenium-Grid-Extras。他们已经构建了一个框架,能够使用Selenium网格实现您所描述的功能。我自己试过一次,似乎效果很好。也许它能满足你的需求
# 3 楼答案
我会让博博布洛的回答更进一步。我最近用groupon's Selenium-Grid_Extras配置了selenium grid hub环境,效果很好。在第一次设置节点/集线器时,您需要回答的问题很少。在运行
java -jar Selenium-Grid-Extras-Jar.jar
之后,它会询问您想要录制的视频数量,默认为20。在测试运行之后,所有记录都可以通过hub:port访问,如图here更进一步说,您可以使用groupon api控制测试记录。你有灵活性。有一个开放的issue,但它也让您可以通过rest服务来操作它
# 4 楼答案
另一种选择是在BrowserStack或Sauce Labs上远程运行测试——这两种服务都有测试运行视频记录
# 5 楼答案
当需要时,可以使用Robot类自动从java代码中截屏。它是java标准库的一部分
在测试开始时创建机器人:
然后,当你需要截图(测试中的每一步)时,只需拨打:
# 6 楼答案
您可以使用java代码录制测试视频,要运行此代码,您还需要将jar文件添加到项目中: 参考:Road to automation