在Windows Server 2008上运行selenium

时间:2014-04-28 17:58:26

标签: selenium windows-server-2008

我试图自动化一些硒测试。 我可以在我的机器上本地运行它们,但是当我尝试在Windows Server 2008(我们的CI服务器运行的服务器)中运行它们时,只有在我打开具有管理员权限的cmd行时才会打开Firefox窗口。我不希望以管理员权限运行,所以问题是:我需要做些什么才能与普通用户一起打开Firefox窗口?

1 个答案:

答案 0 :(得分:2)

你无能为力。从Windows Vista开始,Microsoft锁定了“可交互”会话,因此运行WebDriver网格集线器作为在桌面会话中启动浏览器的服务将无法工作,除非您使用的是Windows XP。因此,您需要做的是在前台运行多个网格节点,并在Windows 2008中打开这些桌面会话。此外,使用Jenkins,运行Selenium测试(没有网格)将显示相同的问题,您必须詹金斯在前台跑。

Windows说“默认情况下,服务使用非交互式窗口站,无法与用户交互。但是,交互式服务可以显示用户界面并接收用户输入。”此外,“所有服务都在终端服务会话0中运行。因此,如果交互式服务显示用户界面,则仅对连接到会话0的用户可见。”有关此信息,请参阅this site

圣杯将是使用SystemTray编写Java程序,然后托盘应用程序在桌面会话启动时在前台自动启动网格节点会话。只是一个想法,因为VisGrid无法做到这一点。

在Linux上,有一种方法可以使用xvfb将网格作为服务运行并在无头会话中运行浏览器,但我认为这是一个复杂的设置,而我从未尝试过。无论如何,Windows情况并没有太大的不同,我认为Windows设置更容易。