2016-01-13 13 views
3

我是新來量角器也是新吞掉task.I有一飲而盡文件看起來像這樣的時候:發行採用一口運行量角器和硒

'use strict'; 
var global = { 
    app_files: { 
     spec: './e2e/**/*_spec.js' 
    }, 
    folders: { 
     specs: './specs' 
    } 
}; 
var gulp = require('gulp'); 
var jshint = require('gulp-jshint'); 
var stylish = require('jshint-stylish'); 
var beautify = require('gulp-jsbeautifier'); 
var protractor = require('gulp-protractor').protractor; 
// Download and update the selenium driver 
var webdriver_update = require('gulp-protractor').webdriver_update; 
var webdriver_standalone = require('gulp-protractor').webdriver_standalone; 
// Downloads the selenium webdriver 
gulp.task('webdriver_update', webdriver_update); 
// Runs the selenium webdriver 
gulp.task('webdriver_standalone', webdriver_standalone); 
// Lint spec files 
gulp.task('lint', function() { 
    return gulp.src(global.app_files.specs).pipe(jshint()).pipe(jshint.reporter(stylish)).pipe(jshint.reporter('fail')); 
}); 
// Beautify spec files 
gulp.task('beautify', function() { 
    return gulp.src(global.app_files.specs).pipe(beautify({ 
     config: '.jsbeautifyrc' 
    })).pipe(gulp.dest(global.folders.specs)); 
}); 
gulp.task('e2e:local', ['lint', 'webdriver_update'], function() { 
    gulp.src([global.app_files.specs], { 
     read: false 
    }).pipe(protractor({ 
     configFile: 'protractor.conf.js' 
    })).on('error', function(e) { 
     throw e; 
    }); 
}); 
gulp.task('e2e', ['e2e:local']); 

但是,當我與量角器運行 - gulpe2e:本地我得到以下錯誤:

MacBook-Pro:spec sab$ protractor protractor.conf.js -gulpe2e:local 
Using the selenium server at http://127.0.0.1:4444/wd/hub 
[launcher] Running 1 instances of WebDriver 

/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:174 
     callback(new Error(message)); 
      ^
Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444 
    at ClientRequest.<anonymous> (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:174:16) 
    at emitOne (events.js:77:13) 
    at ClientRequest.emit (events.js:169:7) 
    at Socket.socketErrorListener (_http_client.js:265:9) 
    at emitOne (events.js:77:13) 
    at Socket.emit (events.js:169:7) 
    at emitErrorNT (net.js:1256:8) 
    at nextTickCallbackWith2Args (node.js:455:9) 
    at process._tickCallback (node.js:369:17) 
From: Task: WebDriver.createSession() 
    at Function.webdriver.WebDriver.acquireSession_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:157:22) 
    at Function.webdriver.WebDriver.createSession (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131:30) 
    at [object Object].Builder.build (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:445:22) 
    at [object Object].DriverProvider.getNewDriver (/usr/local/lib/node_modules/protractor/lib/driverProviders/driverProvider.js:38:7) 
    at [object Object].Runner.createBrowser (/usr/local/lib/node_modules/protractor/lib/runner.js:186:37) 
    at /usr/local/lib/node_modules/protractor/lib/runner.js:276:21 
    at _fulfilled (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:797:54) 
    at self.promiseDispatch.done (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:826:30) 
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:759:13) 
    at /usr/local/lib/node_modules/protractor/node_modules/q/q.js:525:49 
[launcher] Process exited with error code 1 

任何幫助將非常感激。

感謝

Sabbu

回答

3

的錯誤指示量角器試圖連接到webdriver的,而TCP連接被拒絕。這可能是因爲webdriver沒有運行。

你一飲而盡文件定義了一個任務開始的webdriver:

// Runs the selenium webdriver 
gulp.task('webdriver_standalone', webdriver_standalone); 

運行它

gulp webdriver_standalone 

使其保持運行狀態,然後運行一飲而盡任務開始測試。

或者,您可以讓量角器爲您啓動和停止webdriver。從documentation

You have 2 options to start the selenium server.

The first one is to let Protractor handle it automatically, including stopping it once your tests are done. To do that, simply point to the selenium jar in the protractor config file (you will need to update the version number accordingly) instead of the address:

// The file path to the selenium server jar() 
seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.45.0.jar', 
// seleniumAddress: 'http://localhost:4444/wd/hub', 
+0

嗯,這沒有解決我的疑難問題。要運行使用單個命令既硒和量角器測試。 – Sabbu

+0

@薩布那麼,有一種方法可以做到這一點。我會更新答案。 – Seamus

+0

謝謝answer.when我在我的protractor.conf.js文件中添加seleniumserver jar並運行時沒有使用gulfile,它工作正常硒和量角器啓動。但我試圖自動化測試,並在單一命令通過使用gulp。 – Sabbu