当前位置: 首页 > 知识库问答 >
问题:

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

方梓
2023-03-14

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

我有一个硒网格设置,由单独机器上的一个集线器和三个节点组成。我试图做的是有一个脚本,在执行测试套件后清理每个节点上的测试环境。由于可能有其他测试套件直接在另一个之后启动,我需要在节点空闲几秒钟时触发脚本。

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

共有1个答案

广献
2023-03-14

简单的回答是,你不能从网格之外这样做(至少不是那么直接)。我这么说的原因是,在任何给定的时间点,你都可以很容易地找到当前的使用统计数据,但是就在你触发一些清理操作之前,网格可能最终会将一个新的测试路由到正在清理的节点,从而导致无效的测试失败。

不久前,我写了一篇博客文章,讨论了如何构建一个自愈网格(这就是你想要的)。这里详细说明了细节

如果您对使用已经构建的东西感兴趣,并且不想花时间重新发明轮子,那么可以看看以下开源实现:

  1. SeLion的增强网格由PayPal构建(我参与构建了这个)。
  2. 由GroupOn构建的Selenium Grid Extras。
 类似资料:
  • 我想在3个不同的节点上执行我的脚本 对于启动集线器,我使用命令:-java-jar selenium-server-standalone-2.53.0.jar-role hub-port 4444 和节点

  • 问题: 我想在AWS上运行Selenium Grid,并希望使用他们的动态扩展。缩小规模,它只会终止一个实例...这意味着一个节点可以就这样消失。不是我想要的行为,但使用脚本或生命周期挂钩,我可以尝试确保节点上的任何会话在终止之前都不是活动的。 似乎我可以点击这个API来断开节点与集线器的连接:http://NODE-IP:5555/selenium-服务器/驱动程序/?cmd=关闭Seleniu

  • 问题内容: 我已经准备好具有功能流程的Selenium自动化脚本,现在我想将这些脚本与JMeter集成以进行负载测试。 那可能吗? 如果是这样,如何将两者融合? 我的首要目标是使用硒运行自动化脚本,而不是在jmeter中运行这些脚本以进行负载或性能测试。 问题答案: JUnit请求采样器 如果您想重用已经自动化的(Java)Selenium场景,而不是为WebDriver Sampler重写JS脚

  • 我的一台远程机器上有硒集线器,其他机器也有硒节点。 是有集线器的机器,我有一个本地节点和一个远程节点。 两者都连接到远程集线器,但是chrome不在远程节点上运行,而是在本地运行。 当我运行上面的代码(在远程节点上)时,我得到以下异常: 硒。常见的例外。WebDriverException:Message:u“未知错误:Chrome无法启动:崩溃\n(驱动程序信息:chromedriver=2.1

  • 我必须在IE 10浏览器上运行Selenium测试。为了运行以下脚本,我执行了以下操作: > 从这里下载了IEDriverServer(64位,因为我的机器是64位) 将该(. exe)文件放在“C://驱动程序”文件夹中 设置路径'C://驱动程序'在环境变量 运行脚本 运行 aboe 脚本会导致以下错误: 同样的脚本在Chrome和Firefox浏览器上运行良好。请帮助我理解我做错了什么。

  • java.lang.NullPointerException(位于org.openqa.selenium.support.pageFactor.defaultelementLocator.java:69)(位于org.openqa.selenium.support.pageFactor.internal.locatingelementandler.invoke(locatingelementand