【问题标题】:How exactly does one automate internet explorer tests with selenium grid?究竟如何使用 selenium 网格自动化 Internet Explorer 测试?
【发布时间】: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


【解决方案1】:

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

Tscon 1 /dest:console

这会保持一个活跃的桌面会话并且我在 IE 上的测试通过。

【讨论】:

  • 我今天要试一试,祝我好运
猜你喜欢
  • 2011-12-20
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
  • 2012-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
相关资源
最近更新 更多