Jenkins配置量角器

时间:2015-03-25 15:04:08

标签: jenkins protractor

我一直试图设法让Jenkins运行Protractor测试,

  1. 启动selenium服务器
  2. 运行量角器测试
  3. 停止selenium服务器
  4. 我无法在Jenkins中配置所有这些的正确教程或指南。 一点帮助将是最受欢迎的。

2 个答案:

答案 0 :(得分:0)

我将尽可能多的责任委托给grunt

我们个人配置Bamboo CI server只需执行grunt任务即可在BrowserStack上运行每日构建和远程测试。希望您也可以将以下内容应用于jenkins。需要配置以下grunt任务:

protractor: {
    options: {
        keepAlive: true,
        noColor: false
    },
    remote: {
        options: {
            configFile: "test/e2e/config/remote.conf.js"
        }
    },
    local: {
        options: {
            configFile: "test/e2e/config/local.conf.js"
        }
    }
},

protractor_webdriver: {
    options: {
        keepAlive: false
    },
    all: {

    }
},

browserstackTunnel: {
    options: {
        accessKey: browserstackKey  // your key here
    },
    development: {
        options: {
            port: 9001,
            force: true
        }
    }
}

然后,我们配置了e2e:remote任务,完成了3件事:

  • 启动本地selenium服务器(并在之后关闭)
  • 打开了browserstack隧道
  • 在browserstack上远程运行protractor个测试

这是任务本身:

grunt.registerTask('e2e:remote', 'Runs end-to-end tests on browserstack', function () {
    var tasks = [
        'connect:test',
        'browserstackTunnel',
        'protractor:remote'
    ];

    grunt.option('force', true);
    grunt.task.run(tasks);
});

答案 1 :(得分:0)

虽然你可以使用Grunt(我们在工作中这样做)你应该能够通过命令行参数通过Jenkins来实现。 Jenkins可以像在命令行中自己开始测试那样进行命令行调用。

启动Protractor测试时,可以对其进行配置,以便自动启动本地selenium服务器。或者你甚至可以让selenium服务器继续运行,或者让它调用来从Jenkins显式启动和停止。

在您的任务配置中,您可以在Build>中设置呼叫。执行Shell部分,如此链接http://edepree.com/2014/04/10/simple-grunt-setup-for-jenkins.html

所示