【发布时间】:2019-03-14 16:43:13
【问题描述】:
我有一个 GoCD 服务器,我计划在该服务器上运行我的 selenium 测试套件。这台机器是一台Linux机器。所以..我在 Windows 机器上设置了 selenium。我遇到的关键问题是,当作为服务或计划任务运行时,selenium hub 不会启动 IE。
如果我远程桌面进入机器,从命令行手动运行 jar,浏览器在我的 RDP 会话中启动并且测试全部通过。如果我将其安装为服务(具有与桌面交互的权限!)驱动程序似乎正在运行,但内容永远不会加载。
所以如果你有答案,请记住:
网格适用于所有打开交互式桌面会话的浏览器。
如果没有交互式桌面会话,Chrome 和 Firefox 测试仍然可以通过(在无头模式下)。
我正在使用 no selenium 节点,我只使用独立 jar(不作为集线器或节点运行,只是独立运行测试。
我正在使用 selenium 独立版和 IEDriverServer.exe 的 3.14 版
我知道很多人使用 selenium 进行自动 IE 测试,但他们如何使用 Windows 上的 Hub 进行测试?
我已经尝试了所有我能看到的选项设置,试图找到一种让它工作的方法,但它就是没有。
我也尝试过作为计划任务而不是服务运行,也没有骰子。
这是 IETest 所呈现的准确错误:
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)
【问题讨论】:
-
用你的代码试验更新问题
-
排列太多了,这里就不一一列举了。我将尝试 powershell 解决方案。关键问题似乎是 IE 浏览器在作为服务运行时根本没有启动。我将从桌面运行它并尝试 RDP hack 以保持 Windows 会话打开。这将为 IE 提供所需的桌面,并有望让驱动程序服务器正常工作。在完成我尝试过的操作之前,如果您将集线器作为服务运行并自动化 IE 测试,我很想知道它是否对您有用,或者如果没有,您必须克服什么才能获得它工作。
标签: selenium selenium-grid selenium-iedriver