2016-04-15 56 views
0

我試圖在CircleCI上設置CI並嘗試通過baseUrl與測試服務器運行量角器時發生錯誤。如何讓circleCI使用量角器baseurl

protractor protractor/config.js --baseUrl='http://tenant1.my-app.com/' 
Using the selenium server at http://localhost:4444/wd/hub 
[launcher] Running 1 instances of WebDriver 

/home/ubuntu/my-app/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:365 
    onError(new Error(message)); 
     ^
Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444 
at ClientRequest.<anonymous> (/home/ubuntu/my-app/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:365:15) 
at emitOne (events.js:90:13) 
at ClientRequest.emit (events.js:182:7) 
at Socket.socketErrorListener (_http_client.js:306:9) 
at emitOne (events.js:90:13) 
at Socket.emit (events.js:182:7) 
at emitErrorNT (net.js:1249:8) 
at _combinedTickCallback (internal/process/next_tick.js:74:11) 
at process._tickCallback (internal/process/next_tick.js:98:9) 

From: Task: WebDriver.createSession() 
at acquireSession (/home/ubuntu/my-app/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:62:22) 
at Function.createSession (/home/ubuntu/my-app/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:295:12) 
at Builder.build (/home/ubuntu/my-app/node_modules/protractor/node_modules/selenium-webdriver/builder.js:458:24) 
at [object Object].DriverProvider.getNewDriver (/home/ubuntu/my-app/node_modules/protractor/built/driverProviders/driverProvider.js:42:27) 
at [object Object].Runner.createBrowser (/home/ubuntu/my-app/node_modules/protractor/built/runner.js:203:37) 
at /home/ubuntu/my-app/node_modules/protractor/built/runner.js:293:21 
at _fulfilled (/home/ubuntu/my-app/node_modules/protractor/node_modules/q/q.js:834:54) 
at self.promiseDispatch.done (/home/ubuntu/my-app/node_modules/protractor/node_modules/q/q.js:863:30) 
at Promise.promise.promiseDispatch (/home/ubuntu/my-app/node_modules/protractor/node_modules/q/q.js:796:13) 
at /home/ubuntu/my-app/node_modules/protractor/node_modules/q/q.js:556:49 

[launcher] Process exited with error code 1 

有關如何讓量角器與測試服務器連接的任何想法?

+0

你是在本地運行還是從circleCI輸出?這個錯誤看起來像你的webdriver沒有運行 - 'webdriver-manager start' – Gunderson

+0

這是circleCI的輸出。一切運行良好在本地機器 – Vijay

+0

@Vijay - 你能分享你的circle.yml文件嗎? –

回答

0

您正在設置環境變量錯誤 - 它不會作爲標尺傳遞給量角器,它應該在運行命令之前設置爲環境變量,例如,

命令:

BASE_URL='http://localhost:1337/api/' protractor protractor.conf.js 

輸出:

[11:09:21] I/launcher - Running 1 instances of WebDriver 
[11:09:21] I/hosted - Using the selenium server at http://localhost:4444/wd/hub 


    Test describe 
>>> env var for process.env.BASE_URL: http://localhost:1337/api/ 
    ✓ test case 


    1 passing (279ms) 

[11:09:24] I/launcher - 0 instance(s) of WebDriver still running 
[11:09:24] I/launcher - chrome #01 passed 

需要使用基本URL測試將訪問它們關閉process.env

it('test case',() => { 
    console.log('>>> env var for process.env.BASE_URL: ', process.env.BASE_URL); 
}); 

所以在打開一個URL基準URL,您可以使用量角器的瀏覽器,如下所示:

browser.get(process.env.BASE_URL + 'path/to/endpoint');