selenium 节点空闲时如何 运行 脚本(Selenium 网格)

How to run script when selenium node is idle (Selenium grid)

有什么方法可以在selenium 节点空闲时触发.bat 脚本吗?

我有一个 selenium 网格设置,由一个集线器和三个位于不同机器上的节点组成。我想要做的是有一个脚本,在执行测试套件后清理每个节点上的测试环境。由于可能有其他测试套件接连启动,我不知何故需要在节点空闲几秒钟时触发脚本。

脚本本身比较快,大约需要1-2秒到运行。如何在适当的时候触发它?

简短的回答是,您不能从网格外部执行此操作(至少不是那么直接)。我之所以这样说是因为,在任何给定的时间点,您都可以很容易地找到当前的使用统计信息,但就在您触发一些清理操作之前,网格可能最终将新测试路由到正在执行的节点清理并因此导致无效测试失败。

前段时间我创建了一个博客 post,其中讨论了如何构建自我修复网格(这正是您所追求的)。详细说明here

如果您有兴趣使用已经构建的东西并且不想花时间 re-inventing 轮子,您可以查看以下开源实现实现:

  1. SeLion's Enhanced Grid 由 PayPal 构建(我参与构建了这个)。
  2. Selenium Grid Extras 由 GroupOn 构建。