我正在尝试让我的开源项目测试并在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
}
}
}
}...the问题
我认为所有的设置都是正确的,但是肯定缺少了一些东西,因为当我按下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可以访问的文件.
发布于 2014-04-18 09:02:33
根据您提供的日志,我可以看到Selenium正在尝试连接到应用程序所在的localhost:8000。然而,我没有看到travis先在那里运行服务器。
根据Sauce Labs Travis integration guide
确保在测试开始前让Travis启动您的the应用程序。您的应用程序需要为页面服务,以便能够使用我们的浏览器对其进行测试。
通过将&附加到后台,您可以在后台运行命令:
before_script:
- ./my_server &
- sleep 2 # give it some time to starthttps://stackoverflow.com/questions/23150585
复制相似问题