如何通过 Bamboo 执行 Selenium 测试?

How to perform a Selenium test via Bamboo?

我们正在尝试 运行 使用 Selenium CI 进行一些 Selenium 测试。我们正在使用 maven 构建项目并使用 Selenium 网络驱动程序。

我在这个 link 中关注了一个博客 post 作为参考

当我在本地 运行 Maven 项目(没有 Bamboo)时,它运行良好。但是当我尝试在 windows 服务器中使用 Bamboo 代理使用它时,它给出了一个错误。

org.openqa.selenium.WebDriverException: Failed to connect to binary
FirefoxBinary(C:\Program Files (x86)\Mozilla Firefox\firefox.exe) on port 
7055; process output follows:
Build info: version: '2.44.0', 
revision: '76d78cf323ce037c5f92db6c1bba601c2ac43ad8', 
time: '2014-10-23 13:11:40' System 
info: host: 'M',
ip:'myIP',
os.name: 'Windows 7', 
os.arch: 'amd64', 
os.version: '6.1', 
java.version: '1.8.0_11' 
Driver info: driver.version: FirefoxDriver

然后我搜索了一下错误,假设是插件导致的错误。

其中少数是:

但没有任何效果。

找到解决该问题的方法。我 post 将其作为对任何将经历这种情况的人的回答。但我认为对此必须有更好的答案。如果您知道更好的方法,请post。

首先(对我们来说)这种情况只有在我们尝试使用 Bamboo 代理进行 Selenium 测试时才会发生。因此,如果我们仔细观察,代理是由服务启动的。所以进程 (Wrapper.exe) 是 运行ning,因为它是 "SYSTEM" 的 运行。因此,当代理尝试 运行 一个程序(在我们的例子中 firefox.exe)时,该程序也将由 "SYSTEM" 启动。

但是"SYSTEM"不是登录PC的用户。所以它不能与桌面交互。因此出现此错误。

所以我们要做的是 运行 我的用户的代理进程(Wrapper.exe),因此当代理启动另一个程序(如 firefox)时。它将 运行 作为我的用户启动的进程,可以与桌面交互。 当我们这样做时,测试 运行 就像一个魅力!

因为我们所做的工作是这样的:停止服务并使用 "bamboo-agent-home\bin" 中的 "BambooAgent.bat" 运行 wrapper.exe。您可以通过将bin文件的快捷方式添加到启动文件夹来实现。