angular / angular-seed

Seed project for angular apps.
http://angularjs.org/
MIT License
13.04k stars 6.95k forks source link

Protractor tests working on PC, but not on MacBook Pro #416

Closed fhenderson closed 7 years ago

fhenderson commented 7 years ago

I have a test suite working without any issue on a window 7 platform, but I cannot any tests working on my new MacBook Pro.

I tried different version of selenium server and chromedriver and always endup having a "cannot find Chrome binary" error message.

fhenderson-m1:e2e fhenderson$ protractor protractor-testing.conf.js
[13:21:14] I/launcher - Running 1 instances of WebDriver
[13:21:14] I/local - Starting selenium standalone server...
[13:21:15] I/local - Selenium standalone server started at http://10.10.220.83:59977/wd/hub
[13:21:15] E/runner - Unable to start a WebDriver session.
[13:21:15] E/launcher - Error: WebDriverError: no such session
  (Driver info: chromedriver=2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.12.5 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 7 milliseconds

Build info: version: '3.2.0', revision: '8c03df6', time: '2017-03-02 09:34:51 -0800'

System info: host: 'fhenderson-m1.tpn.thinkingphones.net', ip: 'fe80:0:0:0:1498:3e4e:c4a8:d975%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.5', java.version: '1.8.0_121'

Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{message=unknown error: cannot find Chrome binary
  (Driver info: chromedriver=2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.12.5 x86_64), platform=ANY}]
Session ID: fdc7644146cb67b298c6f66aed816002
    at WebDriverError (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:5)
    at Object.checkLegacyResponse (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:505:15)
    at parseHttpResponse (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:440:13)
    at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: WebDriver.manage().timeouts().setScriptTimeout(11000)
    at thenableWebDriverProxy.schedule (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:816:17)
    at Timeouts._scheduleCommand (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:1500:25)
    at Timeouts.setScriptTimeout (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:1483:17)
    at browser_.ready.browser_.ready.then.then (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/lib/runner.ts:281:49)
    at ManagedPromise.invokeCallback_ (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1366:14)
    at TaskQueue.execute_ (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2970:14)
    at TaskQueue.executeNext_ (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2953:27)
    at asyncRun (/Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2813:27)
    at /Users/fhenderson/.nvm/versions/node/v6.9.5/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:676:7
    at process._tickCallback (internal/process/next_tick.js:103:7)
[13:21:15] E/launcher - Process exited with error code 100

Here's my protractor config file:

`let SpecReporter = require( '../../node_modules/jasmine-spec-reporter' ).SpecReporter;

exports.config = { seleniumServerJar: '../../node_modules/selenium-server-standalone-jar/jar/selenium-server-standalone-3.2.0.jar', //chromeDriver: '../../node_modules/chromedriver/lib/chromedriver/chromedriver', chromeDriver: 'chromedriver2.29/chromedriver',

// ----- What tests to run ----- //
specs: [ 'spec/members/new/basic-spec.js' ],

resultJsonOutputFile: 'logFile.json',

capabilities: {
    browserName: 'chrome'
},

onPrepare: function() {

    // On Screen test process info
    let specReporter = new SpecReporter( {
        spec: {
            displayStacktrace: true
        }
    } );
    jasmine.getEnv().addReporter( specReporter );
},

//Options to be passed to Jasmine-node.
jasmineNodeOpts: {
    // If true, print colors to the terminal.
    showColors: true,
    // Default time to wait in ms before a test fails.
    defaultTimeoutInterval: 30000,
    // Function called to print jasmine results.
    print: function() {},

    onComplete: null,
    isVerbose: true,
    includeStackTrace: true,
},

restartBrowserBetweenTests: false,

baseUrl: 'http://localhost.com:3000/'

}; `

Anyone idea?