【问题标题】:Angular + Protractor + Bamboo角+分度器+竹子
【发布时间】:2014-06-14 21:09:11
【问题描述】:

有人在 Bamboo CI 上设置 Protractor e2e 测试吗?

我一直在 Grunt 通过 grunt-protractor-runner / grunt-protractor-webdriver 项目在本地运行我的 WebDriver 测试。量角器配置是标准的。相关 Grunt 配置:

grunt.initConfig({
    protractor: {
        options: {
            keepAlive: false,
            noColor: false
        },
        modules: {
            configFile: 'protractor.e2e.conf.js'
        }
    },
    protractor_webdriver: {
        modules: {
            options: {
                path: 'node_modules/protractor/bin/',
                command: 'webdriver-manager start'
            }
        }
    }
});

grunt.registerTask('e2e', [ 'protractor_webdriver', 'protractor' ]);

这就像一个简单的grunt e2e在本地的魅力

试图在 Bamboo 上进行这项工作是不太有效的。到目前为止我的任务:

  • 结帐回购源
  • npm install
  • webdriver-manager update
  • grunt e2e

日志显示它启动 Selenium 服务器,启动 Firefox,然后失败并出现以下错误:

UnknownError: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: no display specified

【问题讨论】:

  • 从答案来看,这仅适用于 Linux。也许应该明确说明。

标签: angularjs selenium protractor bamboo


【解决方案1】:

从竹子运行它时,您还应该安装 Xvfb 之类的东西,这使您能够启动可以从命令行使用的无头屏幕。

安装 Xvfb 后,您可以通过运行来启动新屏幕

Xvfb :97 -ac -screen 0 1600x1200x24

在你的 grunt 配置中你可以添加一个新任务

env : {
  xvfb: {
        DISPLAY: ':97'
  }
}

您应该在启动量角器之前连接屏幕。这可以通过

grunt.registerTask('e2e', [ 'env:xvfb','protractor_webdriver', 'protractor' ]);

【讨论】:

  • 可能您已经在代理上安装了显示器,无需安装Xvfb。您可以使用 DISPLAY:=0 就像 kamituel 回复的一样
【解决方案2】:

这可能与 Firefox 从 X 环境之外的控制台启动(由 Bamboo)有关。

你可以尝试修改 grunt 命令来明确地告诉它显示是什么:

DISPLAY=:0 grunt e2e

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多