使用多个浏览器窗口自动执行分布式系统测试

时间:2014-10-25 15:19:20

标签: selenium websocket distributed

我正在构建一个带有websockets的分布式系统。浏览器客户端可以直接相互连接或连接到中央服务器。我想端到端测试一些分布式用例。

示例1:

  • 打开浏览器A并连接到我的网站
  • 打开浏览器B并连接到我的网站
  • 浏览器A向浏览器B发送聊天消息
  • 确认浏览器B收到消息

示例2:

  • 打开浏览器A并连接到我的网站
  • 打开浏览器B并连接到我的网站
  • 浏览器A向浏览器B发送聊天消息
  • 在浏览器B上,单击“断开连接”按钮
  • 确认浏览器B未收到消息
  • 在浏览器B上,单击“重新连接”按钮
  • 确认浏览器A收到消息

我该怎么做?我已经看到selenium并行运行,但我还没有看到任何允许你协调浏览器之间交互的东西。

1 个答案:

答案 0 :(得分:0)

您的测试可以打开许多webdriver实例。

如果您在测试中打开了2个实例,则可以代表浏览器A和其他浏览器B.

调用这些对象上的方法来模拟您在帖子中讨论的场景。

要实现此目的,您需要使用RemoteWebDriver。如果全部托管在本地,您将在计算机上获得两个未连接的浏览器。如果您使用网格,那么您的网格上可能会有2个浏览器,可能在不同的计算机上。

如果您想要完全控制,您可以在两台远程计算机上启动Selenium实例,并将这些硬编码的计算机名称用于A和B.在这种情况下,将没有网格。

但是警告的话。如果您尝试在本地托管所有浏览器,则无法使用IE作为多个IE共享共享数据,而Chrome完全独立