我一直试图设法让Jenkins运行Protractor测试,
我无法在Jenkins中配置所有这些的正确教程或指南。 一点帮助将是最受欢迎的。
答案 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件事:
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
所示