Selenium webdriver 如何通过竹子进行硒测试?

Selenium webdriver 如何通过竹子进行硒测试?,selenium-webdriver,maven-3,bamboo,Selenium Webdriver,Maven 3,Bamboo,我们正在尝试使用Selenium CI运行一些Selenium测试。我们正在使用maven构建项目,并使用SeleniumWeb驱动程序 我在这篇文章中关注了一篇博客文章 作为参考 当我在本地运行maven项目时(没有竹子),它运行得很好。但当我试图在windows服务器中使用Bamboo代理时,它给出了一个错误 org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(C:\Program

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

我在这篇文章中关注了一篇博客文章 作为参考

当我在本地运行maven项目时(没有竹子),它运行得很好。但当我试图在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
然后我搜索错误,假设它是由插件引起的错误

其中很少有:


但是什么都没用。

找到了解决问题的方法。我把这篇文章作为对任何将经历这种情况的人的回答。但我认为一定有更好的答案。如果你知道更好的方法,请发帖

首先(对我们来说),只有当我们尝试使用竹剂进行硒测试时,才会出现这种情况。因此,如果我们仔细观察,代理是由服务启动的。因此,进程(Wrapper.exe)正在运行,因为它是由“系统”运行的。因此,当代理尝试运行程序(在我们的例子中是firefox.exe)时,“系统”也会启动该程序

但“系统”不是登录到电脑的用户。因此它无法与桌面交互。因此会发生此错误。

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


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

p.s有时,在使用XVFB的Linux系统中进行测试可能有更好的方法