如何在硒中每10秒截取屏幕截图?



如何截取从TC开始到TC结束的硒中每10秒的屏幕截图。

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

你将无法用Selenium实现这一点,因为它是单线程的。 任何请求都必须等待上一个请求完成。

如果您有一个进程,即使您在每个命令之后检查是否经过了 10 秒,也永远不会是正好 10 秒,因为很可能在确切的时刻正在处理命令。您最终会得到两者之间不相等的时期的屏幕截图。

即使您有 2 个进程正在运行; 1 个执行测试命令,另一个在正好 10 秒内执行屏幕截图,您仍然会遇到相同的问题。

由于Selenium是单线程的,因此在任何并发命令完成执行之前,它不会处理屏幕截图请求。 同样,您最终会在屏幕截图之间出现不相等的句点。

如果您迫切需要每 10 秒截取一次屏幕截图,那么您可以使用"GridExtras"(https://github.com/groupon/Selenium-Grid-Extras(查看。 这将公开一个 HTTP 端点以在 Selenium 外部截取屏幕截图,如果您有 2 个进程,则第二个进程可以每 10 秒调用一次此端点。

不要因为它被称为">网格额外"这一事实而推迟。 我个人使用它来捕获视频而不使用Selenium Grid,相反,我有一个独立的Selenium服务器与Grid Extras的实例一起运行。

最新更新