我的 Selenium Grid 设置如下(所有虚拟机)
VM1 - Windows 7 x64 Windows XP x32 - Grid Hub + 2 个注册默认 *firefox 环境的 RC
VM2 - Windows XP x32 - 2 个注册默认 *firefox 环境的 RC
VM3 - Windows XP x32 - 2 个注册默认 *firefox 环境的 RC
我很高兴使用 Mbunit 和 Gallio 来驱动 Grid,但我的问题是,有时 Grid 集线器会停止将执行传递给 1 个或多个 RC,尽管它们在集线器控制台上显示可用。他们似乎很高兴地保持心跳回到中心,但他们再也没有被要求做任何工作。这是在他们在测试运行的早期执行测试之后。
有谁知道为什么会发生这种情况?在每种情况下,我都观察到这种行为,最后一次测试是 RC 执行的,然后它似乎被集线器忽略,通过,会话成功关闭。有趣的是,每当它发生在超过 1 个 RC 上时,它总是(到目前为止)是在同一 VM 上运行的那对。然而他们正在设法维持他们的心跳,所以这不是网络连接问题。
任何帮助将不胜感激!
更新:在进一步尝试排除故障后,我现在发现了其他东西。首先,我将我的 Win7 VM 换成基于 XP 的 VM,以保持一致性并排除集线器在较新的操作系统上运行时可能出现的任何问题。我已经更新了上面的内容以反映这种变化。
在那次更改之后,集线器现在始终只使用 6 个注册 RC 中的最多 5 个。不使用哪个 RC 始终是最后一个向集线器注册的机器上的两个之一。因此,如果我在 VM1 上启动集线器,在 VM2 和 VM3 上启动 RC,然后在 VM1 上启动 RC,则永远不会使用 VM1 上的两个 RC 之一。