【问题标题】:How to perform a Selenium test via Bamboo?如何通过 Bamboo 执行 Selenium 测试?
【发布时间】:2015-04-14 02:23:23
【问题描述】:

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

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

当我在本地(没有 Bamboo)运行 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

然后我搜索错误,假设它是由插件引起的错误。

其中很少有:

但没有任何效果。

【问题讨论】:

    标签: selenium-webdriver maven-3 bamboo


    【解决方案1】:

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

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

    但是“SYSTEM”不是登录PC的用户。所以它不能与桌面交互。因此会发生此错误。

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

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

    【讨论】:

    • P.s 有时可能有更好的方法来使用 XVFB 在 Linux 系统中进行测试
    猜你喜欢
    • 2011-10-07
    • 2015-09-03
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多