如何在硒中每10秒拍摄一次屏幕截图?

时间:2018-09-10 12:55:45

标签: java selenium selenium-webdriver

如何从TC开始到TC结束,在硒中每10秒拍摄一次屏幕截图。

说我的TC持续时间为100秒,我总共需要10个屏幕截图。

1 个答案:

答案 0 :(得分:0)

由于Selenium是单线程的,因此您将无法实现。任何请求都必须等待上一个请求完成。

如果只有一个进程,即使您在每个命令之后检查是否经过了10秒,也绝不会是精确的10秒,因为很可能在确切的时间内正在处理一条命令。您最终将获得两个时间间隔不相等的屏幕截图。

即使您有两个正在运行的进程,也是如此; 1执行测试命令,其他执行截屏的恰好是10秒,您仍然会遇到相同的问题。

由于Selenium是单线程的,因此在任何并发命令完成执行之前,它不会处理屏幕截图请求。再次,您将在屏幕截图之间出现不相等的时间段。

如果非常需要每10秒截图一次,那么您可以使用“ GridExtras”(https://github.com/groupon/Selenium-Grid-Extras)。这将暴露一个HTTP端点以在Selenium之外进行屏幕截图,如果您有2个进程,则第二个进程可能每10秒调用一次此端点。

不要因为它被称为“ 网格附加功能”而被推迟。我个人使用它来捕获视频,而没有使用Selenium Grid,相反,我有一个独立的Selenium服务器与Grid Extras实例一起运行。