如何在从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秒调用此端点。
不要因为它被称为“Grid Extras”而被推迟。我个人使用它来捕获视频而不使用Selenium Grid,而是我有一个独立的selenium服务器,与Grid Extras的一个实例一起运行。