【发布时间】:2014-06-02 18:06:31
【问题描述】:
我正在尝试在 Travis CI 中启动和运行我的开源项目测试。我让他们使用 Selenium 服务器在本地工作。
似乎是一个相对简单的过程,但我缺乏完成任务的一些基本知识。
我有我的 .travis.yml 文件:
language: node_js
node_js:
- "0.10"
env:
global:
- SAUCE_USERNAME=[my-username]
- SAUCE_ACCESS_KEY=[my-key]
addons:
sauce_connect: true
before_install:
- npm install -g grunt-cli
我的量角器配置:
exports.config = {
sauceUser: process.env.SAUCE_USERNAME,
sauceKey: process.env.SAUCE_ACCESS_KEY,
capabilities: {
'browserName': 'chrome',
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER,
'build': process.env.TRAVIS_BUILD_NUMBER,
'name': 'ngValidation Protractor Tests'
},
specs: ['demo/app/features/home/specs/*.spec.js'],
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000
},
baseUrl: 'http://localhost:' + (process.env.HTTP_PORT || '8000')
};
和 Gruntfile
protractor: {
saucelabs: {
options: {
configFile: "saucelabs.spec.conf.js",
args: {
sauceUser: process.env.SAUCE_USERNAME,
sauceKey: process.env.SAUCE_ACCESS_KEY
}
}
}
}
...问题
我认为一切都已正确设置,但是一定缺少一些东西,因为当我推送到 Github 并且 Travis CI 构建开始时,我开始在 Travis 构建日志中收到此错误:
Could not proxy http://localhost:8000....
让这两个人互相交谈并运行我的测试,我缺少什么?
完整信息的 Travis 构建日志:https://travis-ci.org/GrumpyWizards/ngValidation/builds/23264543
编辑:基于接受的答案:
我没有运行服务器来提供我的文件!我最终安装了 https://www.npmjs.org/package/grunt-contrib-connect 并像这样设置了我的 Grunt 文件:
connect: {
server: {
options: {
hostname: 'localhost',
port: 9001
}
}
}
...
grunt.registerTask('travis', ['connect:test', 'protractor:saucelabs']);
然后我像这样更改了我的量角器配置文件:
baseUrl: 'http://localhost:9001/'
嘿,我现在可以在我的机器或 Travis 上运行一个本地服务器,该服务器现在为我的文件提供服务,SauceLabs 可以访问这些文件...
【问题讨论】:
-
我认为如果您显示完整的 Travis 日志会更有帮助。它可能包含您可能错过的内容。在哪个阶段显示此消息也很重要?
-
@Miszy ok 用底部的链接更新了问题。对吗?
-
"请求开始:GET localhost:8000/demo/index.html" 我没有看到服务器在端口 8000 上运行。你确定它在那里吗?
-
啊,好吧,这更有意义。服务器在 Travis 上而不是在 SauceLabs 上运行,我如何让服务器在 SauceLabs 连接到的 Travis 上运行?咕噜快递?
标签: angularjs gruntjs protractor travis-ci saucelabs