假设客户端在RC服务器上启动了selenium会话,但是在会话中间,客户端“消失了”。浏览器将保持打开状态,最终,在经过足够的此类丢弃会话后,将有足够的“孤立”浏览器来降低计算机的速度。
任何浏览器实例都有一个可以存储的session_id。Python示例:
>>> import selenium >>> browser = selenium.selenium("localhost",4444, "*firefox", "http://www.santiycr.com.ar") >>> browser.start() >>> browser.sessionId u'b4ad1f1d624e44d9af4200b26d7375cc'
因此,如果您在测试开始时将这些sessionId存储在文件中,然后在测试结束时将其删除,则将有一个日志文件,其中包含测试未正确结束的会话。
现在,使用cron或任何常规执行程序,您可以读取该文件,遍历存储在其中的sessionIds并打开以下网址(使用浏览器,甚至使用您编程语言的http库):
http:// localhost:4444 / selenium-server / driver /?sessionId = THE-SESSION- ID&cmd = testComplete
这应该够了吧。
编辑:我发现这个问题是如此有趣,以至于在我的博客中创建了有关该解决方案的文章。如果您是python的人,您会发现它很有趣:http : //www.santiycr.com.ar/djangosite/blog/posts/2009/aug/25/close-remaining- browsers-from-selenium- rc