【发布时间】:2015-03-25 15:04:07
【问题描述】:
我一直在想办法让 Jenkins 运行 Protractor 测试,
- 启动 selenium 服务器
- 运行量角器测试
- 停止 selenium 服务器
我无法在 Jenkins 中配置所有这些的适当教程或指南。 非常欢迎提供一点帮助。
【问题讨论】:
标签: jenkins protractor
我一直在想办法让 Jenkins 运行 Protractor 测试,
我无法在 Jenkins 中配置所有这些的适当教程或指南。 非常欢迎提供一点帮助。
【问题讨论】:
标签: jenkins protractor
我会将尽可能多的责任委托给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 件事:
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);
});
【讨论】:
虽然您可以使用 Grunt(我们在我的工作中这样做),但您应该能够通过命令行参数通过 Jenkins 来执行此操作。 Jenkins 可以像您自己从命令行开始测试一样进行命令行调用。
当您启动 Protractor 测试时,您可以对其进行配置,以便它自动启动本地 selenium 服务器。或者你甚至可以让 selenium 服务器保持运行,或者让它从 Jenkins 显式启动和停止。
在您的任务配置中,您可以在 Build > Execute Shell 部分设置调用,如此链接中所示 http://edepree.com/2014/04/10/simple-grunt-setup-for-jenkins.html
【讨论】: