【问题标题】:Selenium Grid configuration of timeoutsSelenium Grid 配置超时
【发布时间】:2014-02-18 18:38:36
【问题描述】:

我正在使用 Selenium Grid 2。

我有一个集线器和 6 个节点。 我遇到的问题是由于意外的 javascript 弹出窗口导致一些测试失败,并且 selenium 似乎没有清理这些会话。测试完成后,仍然有浏览器打开(每台测试机器上有多个浏览器),并且仍然有 IEDriverServer.exe 进程在运行。

这是我正在使用的 hub.json 文件:

{
  "host": null,
  "port": 4444,
  "newSessionWaitTimeout": -1,
  "servlets" : [],
  "prioritizer": null,
  "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
  "throwOnCapabilityNotPresent": true,
  "nodePolling": 5000,

  "cleanUpCycle": 5000,
  "timeout": 300000,
  "browserTimeout": 60000
}

感谢任何额外的输入...

仅供参考,我的框架中确实有一个 finally 块,它做的最后一件事是

driver.Dispose();

【问题讨论】:

    标签: selenium selenium-grid2


    【解决方案1】:

    我的观点来自 Java,但如果 .Dispose() 方法做两件事,我会想象它会起作用:

    1. 调用 driver.quit() (不是 driver.close() )
    2. 然后,设置 driver = null 以标记垃圾回收

    据我所知,Selenium 中没有自动清理浏览器的超时。您可以在驱动程序上设置 3 种不同类型的超时,但都与您的要求无关。

    作为旁注,我在“@AfterClass”注释中调用了 driver.quit()。然后在我的每个类中,它将通过参数化数据运行多次,然后最终退出浏览器。在我的“@AfterTest”注释中,我做与准备最终 HTML 报告相关的事情。

    【讨论】:

    • 在 C# 中,driver.Quit() 实际上调用 driver.Dispose()。我以前使用 Quit,但在查看实际代码并看到它在做同样的事情之前更改为 Dispose。
    猜你喜欢
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 2013-04-08
    相关资源
    最近更新 更多