当前位置: 首页 > 面试题库 >

如何关闭丢失了客户端的Selenium RC服务器上的浏览器

孟翰海
2023-03-14
问题内容

假设客户端在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



 类似资料:
  • 问题内容: 我在Node.js和Socket.io上有一个聊天应用程序,用户可以通过按钮进行连接和断开连接…我有一个在线用户列表,借助我定义的事件触发,可以很好地管理这些用户。 但是问题是我无法检测到用户是否在没有手动断开连接(通过断开连接按钮)的情况下断开了连接或关闭了浏览器窗口… 仅当用户断开连接时才触发该socket.io事件,而不会在断开连接时触发。 我希望有一种非常好的机制来关注用户,以

  • 在本节中,我们将构建一个完整的的 Netty客 户端和服务器。虽然你可能集中在写客户端是浏览器的基于 Web 的服务,接下来你将会获得更完整了解 Netty 的 API 是如何实现客户端和服务器的。 Figure 2.1.Echo client / server 图中显示了连接到服务器的多个并发的客户端。在理论上,客户端可以支持的连接数只受限于使用的 JDK 版本中的制约。 echo(回声)客户端

  • 问题内容: 当我使用节点mysql时,在12:00到2:00之间出现错误,表明服务器已关闭TCP连接。这是完整的消息: 有解决办法。但是,以这种方式尝试后,问题也会出现。现在我不知道该怎么办。有人遇到这个问题吗? 这是我按照解决方案编写的方式: 问题答案: 尝试使用以下代码来处理服务器断开连接: 在您的代码中,我错过了之后的部分

  • 我目前有一个在非阻塞模式下使用 NIO java 库编写的桌面服务器。您可以在此处找到完整的服务器项目。我还创建了一个用于测试目的的非阻塞 NIO 客户端。你可以在这里找到这个项目。最后,服务器应该用于Android即时通讯应用程序。我使客户端和服务器都基于发送“数据包”进行通信的想法。我的意思是,Packet 类的引用被打包到字节缓冲区中并通过套接字通道发送。然后,它们在另一端反序列化并执行。

  • 我正在开发一个非常简单的Java客户机/服务器系统(只是为了让我的脚沾满套接字)。由于某种原因,我一直收到“套接字已关闭”错误。。。这是我的密码。。 服务器文件 客户端文件 我在客户端的第41行得到了错误,然后在第46行得到了NullPointerException。。 提前感谢您的帮助。我只是想在这里学习。

  • 我想用java写一个传输文件套接字程序。但我有问题,如何取消时传输文件。 当我在客户端关闭inputstream时,服务器如何知道它关闭了outputstream。 这是我的代码:客户 ...... 服务器 ...... 但当我关闭inputstream时没有显示任何内容