究竟如何使用硒网格自动进行IE浏览器测试?



我有一个GoCD服务器,我计划在其上运行我的硒测试套件。这台机器是一台 Linux 机器。 所以。。我在一台Windows机器上设置了硒。我遇到的关键问题是,当作为服务或计划任务运行时,硒集线器不会启动IE。

如果我通过远程桌面进入计算机,请从命令行手动运行 jar,浏览器在我的 RDP 会话中启动并且测试全部通过。如果我将其安装为服务(具有与桌面交互的权限!(,驱动程序似乎正在运行,但内容永远不会加载。

因此,如果您有答案,请记住:

  • 网格适用于打开交互式桌面会话的所有浏览器。

  • 如果没有交互式桌面会话,Chrome 和 Firefox 测试仍然通过(在无头模式下(。

  • 我没有使用硒节点,我只使用独立的 jar(不作为集线器或节点运行,只是独立运行测试。

  • 我正在使用Selenium Independent和IEDriverServer的3.14版本.exe

我知道很多人用硒做自动化的IE测试,但是他们如何在Windows上使用Hub来做呢?

我已经尝试了几乎所有我能看到的选项设置,以尝试让它工作的方法,但它只是没有它。

我还尝试作为计划任务而不是服务运行,那里也没有骰子。

这是IETests呈现的精确错误:

Oct 09, 2018 1:15:12 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for value to contain "sign-in.host.com". Current value: "null" (tried for 10 second(s) with 500 milliseconds interval)
at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:113)
at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:283)

我曾经在 Azure 中的 VM 上进行 IE 硒测试时遇到问题。我注意到的是,虽然RDP到机器一切正常,但是当我关闭会话时,所有测试都失败了。 我最终所做的是在每次 RDP 关闭后留下登录的控制台会话。 在会话注销时添加触发器后,我使用以下内容运行一个 powershell 脚本:

Tscon 1 /dest:console

这使桌面会话保持活动状态,并且我在IE上的测试通过。

最新更新