TheBrainFamily/chimpy

Chimp opens two browser windows, closes both, won't run any tests

samhatoum opened this issue · 4 comments

Issue by abecks
Wednesday May 17, 2017 at 21:00 GMT
Originally opened as xolvio/chimp#622


My Chimp setup has suddenly stopped working and I would really appreciate some help sorting this out.

I run Chimp with:
./node_modules/.bin/chimp chimp-config.js --cucumber --path=tests/cucumber --browser=chrome --debug

Chimp opens Chrome, immediately closes it, opens it again, then closes it again.

I have tried this with Firefox as well, with the exact same result. It seems to crash here:

1) Scenario: VirtualAdviser staff can create clients - tests/cucumber/features/companies.feature:7
   Step: Before
   Step Definition: tests/cucumber/step_definitions/hooks.js:4
   Message:
     Error: GET /session/d21f2c3a-2f05-4f43-ad6c-08306269b997/window/rect
         at World.beforeScenario (tests/cucumber/step_definitions/hooks.js:9:13)
         at node_modules/meteor-promise/fiber_pool.js:32:39
         Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
         System info: host: 'andrews-mbp.hitronhub.home', ip: '192.168.0.18', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_65'
         Driver info: driver.version: unknown

Line 9 of hooks.js:

    browser.setViewportSize({
      width: 1280,
      height: 800
    })

It seems like it's having trouble communicating with the browser. I have tried the following

  • Reinstall Selenium standalone NPM
  • Force 6.1.0 Selenium version via chimp-config.js
  • Force ChromeDriver 2.29 via chimp-config.js
  • Use firefox instead of chrome. Firefox makes it a little farther but gives the error:
     Error: Expected [object Undefined] undefined to be a string
         at World.<anonymous> (tests/cucumber/step_definitions/definitions.js:4:13)
         at node_modules/meteor-promise/fiber_pool.js:32:39
         Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
         System info: host: 'andrews-mbp.hitronhub.home', ip: '192.168.0.18', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_65'
         Driver info: org.openqa.selenium.firefox.FirefoxDriver
         Capabilities [{moz:profile=/var/folders/cq/ft1vctcd2bn8y_795t0v_xsc0000gn/T/rust_mozprofile.hJ0FitAqoZav, rotatable=false, timeouts={implicit=0, pageLoad=300000, script=30000}, pageLoadStrategy=normal, platform=ANY, specificationLevel=0, moz:accessibilityChecks=false, acceptInsecureCerts=false, browserVersion=53.0.2, platformVersion=15.6.0, moz:processID=79788, browserName=firefox, platformName=darwin}]
         Session ID: 1f359ebe-85ee-6643-9be9-ccc5a6bfc016

when trying to run:

browser.setValue('input[name=email]', 'admin@admin.com')

Full log:

[chimp] Chimp options are { watch: false,
  watchTags: '@watch,@focus',
  domainSteps: null,
  e2eSteps: null,
  fullDomain: false,
  domainOnly: false,
  e2eTags: '@e2e',
  watchWithPolling: false,
  server: false,
  serverPort: 8060,
  serverHost: 'localhost',
  sync: true,
  offline: false,
  showXolvioMessages: true,
  'fail-when-no-tests-run': false,
  path: './features',
  format: 'pretty',
  tags: '~@ignore',
  singleSnippetPerFile: true,
  recommendedFilenameSeparator: '_',
  chai: false,
  screenshotsOnError: false,
  screenshotsPath: '.screenshots',
  captureAllStepScreenshots: false,
  saveScreenshotsToDisk: true,
  saveScreenshotsToReport: false,
  jsonOutput: null,
  compiler: 'js:/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/babel-register.js',
  conditionOutput: true,
  browser: null,
  platform: 'ANY',
  name: '',
  user: '',
  key: '',
  port: null,
  host: null,
  webdriverio:
   { desiredCapabilities: {},
     logLevel: 'silent',
     host: '127.0.0.1',
     port: 4444,
     path: '/wd/hub',
     baseUrl: null,
     coloredLogs: true,
     screenshotPath: null,
     waitforTimeout: 500,
     waitforInterval: 250 },
  seleniumStandaloneOptions:
   { version: '3.0.1',
     baseURL: 'https://selenium-release.storage.googleapis.com',
     drivers: { chrome: [Object], ie: [Object], firefox: [Object] } },
  noSessionReuse: false,
  simianResultEndPoint: 'api.simian.io/v1.0/result',
  simianAccessToken: false,
  simianResultBranch: null,
  simianRepositoryId: null,
  mocha: false,
  mochaCommandLineOptions: { bail: true },
  mochaConfig:
   { tags: '',
     grep: null,
     timeout: 60000,
     reporter: 'spec',
     slow: 10000,
     useColors: true },
  jasmine: false,
  jasmineConfig:
   { specDir: '.',
     specFiles: [ '**/*@(_spec|-spec|Spec).@(js|jsx)' ],
     helpers: [ 'support/**/*.@(js|jsx)' ],
     stopSpecOnExpectationFailure: false,
     random: false },
  jasmineReporterConfig: {},
  ddp: false,
  serverExecuteTimeout: 10000,
  phantom_w: 1280,
  phantom_h: 1024,
  phantom_ignoreSSLErrors: false,
  log: 'info',
  debug: false,
  seleniumDebug: null,
  debugCucumber: null,
  debugBrkCucumber: null,
  debugMocha: null,
  debugBrkMocha: null }

Master Chimp and become a testing Ninja! Check out our course: http://bit.ly/2btQaFu

Chimp version:  0.49.0
ChromeDriver version:  Unknown. Chromedriver not used directly.
Java version:  java version "1.8.0_65", Java(TM) SE Runtime Environment (build 1.8.0_65-b17), Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Selenium version:  3.0.1
Selenium drivers version:  chrome: 2.25, ie: 2.50.0, firefox: 0.11.1
OS version:  Darwin 15.6.0
Node version:  v4.6.0
[chimp][browserdriver] starting process
[chimp][browserdriver.stdout] Starting ChromeDriver 2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1) on port 51765
Only local connections are allowed.

[chimp][browserdriver] started successfully
[chimp][browserdriver] kill called on browserdriver process with pid 79334
[chimp][browserdriver] checking if process exists
[chimp][browserdriver] browserdriver process exists, killing it with SIGTERM
[chimp][browserdriver] waiting for process to die (0/10)
[chimp][browserdriver] process is dead
Browser version:  chrome 58.0.3029.110

[chimp] Running...
[chimp] interrupting
[chimp] no processes to interrupt
[chimp][selenium] Selenium object created
[chimp][selenium] Start
[chimp][selenium] Installing Selenium + drivers if needed

[chimp][selenium] hub can be seen at http://localhost:51765/wd/hub
[chimp][cucumber] Cucumber exec options are:  [ 'node',
  '/Users/andrew/Development/ER/va/node_modules/chimp/node_modules/.bin/cucumber.js',
  'tests/cucumber',
  '-r',
  '/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/chimp-helper.js',
  '-r',
  '/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/cucumberjs/world.js',
  '-r',
  '/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/cucumberjs/hooks.js',
  '-r',
  'tests/cucumber',
  '--format',
  'pretty',
  '--tags',
  '~@ignore',
  '--compiler',
  'js:/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/babel-register.js' ]
[chimp][cucumber] Running with [ 'node',
  '/Users/andrew/Development/ER/va/node_modules/chimp/node_modules/.bin/cucumber.js',
  'tests/cucumber',
  '-r',
  '/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/chimp-helper.js',
  '-r',
  '/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/cucumberjs/world.js',
  '-r',
  '/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/cucumberjs/hooks.js',
  '-r',
  'tests/cucumber',
  '--format',
  'pretty',
  '--tags',
  '~@ignore',
  '--compiler',
  'js:/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/babel-register.js' ]
[chimp][helper] Using the jasmine-expect assertion library

[chimp][hooks] Starting BeforeFeatures

[chimp][helper] getting browser

[chimp][session-manager-factory] options are { host: 'localhost',
  port: 51765,
  user: undefined,
  key: undefined,
  browser: 'chrome',
  deviceName: undefined }

[chimp][session-manager] created a new SessionManager

[chimp][helper] webdriverioOptions are  {"desiredCapabilities":{"browserName":"chrome","platform":"ANY","name":""},"logLevel":"verbose","host":"localhost","port":51765,"path":"/wd/hub","baseUrl":null,"coloredLogs":true,"screenshotPath":null,"waitforTimeout":500,"waitforInterval":250,"sync":true}

[chimp][session-manager] creating webdriver remote

[chimp][session-manager] checking connection to selenium server

[13:51:28]  COMMAND	GET 	 "/wd/hub/status"

[13:51:28]  DATA		{}

[13:51:28]  RESULT		{"build":{"version":"3.0.1","revision":"1969d75","time":"2016-10-18 09:48:19 -0700"},"os":{"name":"Mac OS X","arch":"x86_64","version":"10.11.6"},"java":{"version":"1.8.0_65"}}

[chimp][session-manager] Connection to the to selenium server verified

[chimp][session-manager] watch mode is false, not reusing a session

[chimp][hooks] init browser

[chimp][hooks] init browser callback

[13:51:28]  COMMAND	POST 	 "/wd/hub/session"

[13:51:28]  DATA		{"desiredCapabilities":{"javascriptEnabled":true,"locationContextEnabled":true,"handlesAlerts":true,"rotatable":true,"browserName":"chrome","platform":"ANY","name":"","loggingPrefs":{"browser":"ALL","driver":"ALL"},"requestOrigins":{"url":"http://webdriver.io","version":"4.6.2","name":"webdriverio"}}}

[13:51:29]  INFO	SET SESSION ID d21f2c3a-2f05-4f43-ad6c-08306269b997

[13:51:29]  RESULT		{"applicationCacheEnabled":false,"rotatable":false,"mobileEmulationEnabled":false,"networkConnectionEnabled":false,"chrome":{"chromedriverVersion":"2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1)","userDataDir":"/var/folders/cq/ft1vctcd2bn8y_795t0v_xsc0000gn/T/.org.chromium.Chromium.YvwsEJ"},"takesHeapSnapshot":true,"pageLoadStrategy":"normal","databaseEnabled":false,"handlesAlerts":true,"hasTouchScreen":true,"version":"58.0.3029.110","platform":"MAC","browserConnectionEnabled":false,"nativeEvents":true,"acceptSslCerts":true,"webdriver.remote.sessionid":"d21f2c3a-2f05-4f43-ad6c-08306269b997","locationContextEnabled":true,"webStorageEnabled":true,"browserName":"chrome","takesScreenshot":true,"javascriptEnabled":true,"cssSelectorsEnabled":true}

[chimp][helper] init browser
[chimp][helper] init browser callback

[chimp][hooks] Finished BeforeFeatures
[chimp][hooks] User-defined BeforeFeatures not found, finishing up

Feature: Company Management

    Companies allow VirtualAdviser staff to manage clients
    Sub-Companies allows clients to have their own clients or different branding
    Sub-Companies is not enabled for all clients
    If a company is deleted then also delete their associated data (pathway, users, results, and people)


  Scenario: VirtualAdviser staff can create clients


[13:51:29]  COMMAND	GET 	 "/wd/hub/session/d21f2c3a-2f05-4f43-ad6c-08306269b997/window/current/size"

[13:51:29]  DATA		{}

[13:51:39]  COMMAND	GET 	 "/wd/hub/session/d21f2c3a-2f05-4f43-ad6c-08306269b997/window/rect"

[13:51:39]  DATA		{}

  - Given I am an administrator



[chimp][cucumber] Received message from cucumber child. Result: [
  {
    "description": "  Companies allow VirtualAdviser staff to manage clients\n  Sub-Companies allows clients to have their own clients or different branding\n  Sub-Companies is not enabled for all clients\n  If a company is deleted then also delete their associated data (pathway, users, results, and people)",
    "elements": [
      {
        "id": "company-management;virtualadviser-staff-can-create-clients",
        "keyword": "Scenario",
        "line": 7,
        "name": "VirtualAdviser staff can create clients",
        "steps": [
          {
            "arguments": [],
            "keyword": "Before ",
            "result": {
              "status": "failed",
              "duration": 10537687364,
              "error_message": "Error: GET /session/d21f2c3a-2f05-4f43-ad6c-08306269b997/window/rect\n    at World.beforeScenario (tests/cucumber/step_definitions/hooks.js:9:13)\n    at node_modules/meteor-promise/fiber_pool.js:32:39\n    Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'\n    System info: host: 'andrews-mbp.hitronhub.home', ip: '192.168.0.18', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_65'\n    Driver info: driver.version: unknown"
            },
            "hidden": true,
            "match": {
              "location": "/Users/andrew/Development/ER/va/tests/cucumber/step_definitions/hooks.js:4"
            }
          },
          {
            "arguments": [],
            "keyword": "Given ",
            "name": "I am an administrator",
            "result": {
              "status": "skipped"
            },
            "line": 8,
            "match": {
              "location": "/Users/andrew/Development/ER/va/tests/cucumber/step_definitions/definitions.js:3"
            }
          },
          {
            "arguments": [],
            "keyword": "After ",
            "result": {
              "status": "passed",
              "duration": 180519
            },
            "hidden": true,
            "match": {
              "location": "/Users/andrew/Development/ER/va/node_modules/chimp/dist/lib/cucumberjs/hooks.js:68"
            }
          }
        ],
        "tags": [],
        "type": "scenario"
      }
    ],
    "id": "company-management",
    "keyword": "Feature",
    "line": 1,
    "name": "Company Management",
    "tags": [],
    "uri": "/Users/andrew/Development/ER/va/tests/cucumber/features/companies.feature"
  }
]
Failures:

1) Scenario: VirtualAdviser staff can create clients - tests/cucumber/features/companies.feature:7
   Step: Before
   Step Definition: tests/cucumber/step_definitions/hooks.js:4
   Message:
     Error: GET /session/d21f2c3a-2f05-4f43-ad6c-08306269b997/window/rect
         at World.beforeScenario (tests/cucumber/step_definitions/hooks.js:9:13)
         at node_modules/meteor-promise/fiber_pool.js:32:39
         Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
         System info: host: 'andrews-mbp.hitronhub.home', ip: '192.168.0.18', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_65'
         Driver info: driver.version: unknown

1 scenario (1 failed)
1 step (1 skipped)
0m10.538s
[chimp][hooks] Starting AfterFeatures
[chimp][hooks] Ending browser session
[chimp][session-manager] requesting sessions from http://localhost:51765/wd/hub/sessions

[chimp][session-manager] received data {"state":"success","sessionId":null,"hCode":312652250,"value":[{"capabilities":{"applicationCacheEnabled":false,"rotatable":false,"mobileEmulationEnabled":false,"networkConnectionEnabled":false,"chrome":{"chromedriverVersion":"2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1)","userDataDir":"/var/folders/cq/ft1vctcd2bn8y_795t0v_xsc0000gn/T/.org.chromium.Chromium.YvwsEJ"},"takesHeapSnapshot":true,"pageLoadStrategy":"normal","databaseEnabled":false,"handlesAlerts":true,"hasTouchScreen":true,"version":"58.0.3029.110","platform":"MAC","browserConnectionEnabled":false,"nativeEvents":true,"acceptSslCerts":true,"locationContextEnabled":true,"webStorageEnabled":true,"browserName":"chrome","takesScreenshot":true,"javascriptEnabled":true,"cssSelectorsEnabled":true},"id":"d21f2c3a-2f05-4f43-ad6c-08306269b997","hCode":1802786438,"class":"org.openqa.selenium.remote.server.handler.GetAllSessions$SessionInfo"}],"class":"org.openqa.selenium.remote.Response","status":0}

[chimp][session-manager] deleting wd session d21f2c3a-2f05-4f43-ad6c-08306269b997

[chimp][session-manager] received data {"state":"success","sessionId":"d21f2c3a-2f05-4f43-ad6c-08306269b997","hCode":2133992598,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}

[chimp][hooks] Ended browser sessions
[chimp][hooks] Finished AfterFeatures

[chimp][cucumber] Closed with code 2
[chimp][cucumber] Cucumber not in a stopping state
[chimp] Finished running async processes with errors
[chimp] run complete with errors Cucumber steps failed
[chimp] interrupting
[chimp] 2 processes to interrupt
[chimp][cucumber] interrupting cucumber
[chimp][cucumber] kill called on cucumber process with pid 79354
[chimp][cucumber] checking if process exists
[chimp][cucumber] cucumber process does not exists, ignoring
[chimp][selenium] interrupt called
[chimp][selenium] killing active session
[chimp][selenium] stopping process
[chimp][selenium] kill called on selenium process with pid 79353
[chimp][selenium] checking if process exists
[chimp][selenium] selenium process exists, killing it with SIGINT
Cucumber steps failed
Error in chimp init Cucumber steps failed

Comment by lgandecki
Thursday May 18, 2017 at 08:35 GMT


Interesting.. I have a few questions before I dive deeper
Do you run your tests on CI somewhere? Does the problem happen there as well?
Are you able to check previous version of chimp?
Are you able to run the same tests on someone elses machine? Or were you always the only one running it and only on one machine?

Comment by abecks
Tuesday May 23, 2017 at 17:06 GMT


Thanks for the help.

I don't run on CI yet but I'm hoping to sort this out locally and then get it on CircleCI. I can rig up a test there if you think it'll be useful.

As far as previous versions:
0.46 - Works with Chrome using chimp-config.js to specify ChromeDriver 2.29 (latest)
0.47 - Same as above, working nicely
0.48 - No longer works, same debug output as my first post, notable output:

Chimp version:  0.48.0
ChromeDriver version:  Unknown. Chromedriver not used directly.
Java version:  java version "1.8.0_65", Java(TM) SE Runtime Environment (build 1.8.0_65-b17), Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Selenium version:  3.0.1
Selenium drivers version:  chrome: 2.29, ie: 2.50.0, firefox: 0.11.1

Is ChromeDriver not being used directly related to this issue? Did 0.48 start using npm modules for ChromeDriver and selenium-standalone vs. downloading them itself? I'm starting to wonder if that is the issue since I'm starting chimp with ./node_modules/.bin/chimp, perhaps it cannot find them?

Comment by abecks
Tuesday May 23, 2017 at 22:28 GMT


I actually had to go all the way back to 0.45 in order to get error output from Cucumber. In 0.46-0.47 I get an empty "Failures:" block, with no output at all.

Comment by xywang68
Wednesday May 09, 2018 at 17:26 GMT


Hi, I have a similar issue where it seems the chrome browser started by [chimp][browserdriver] is killed.
[chimp][browserdriver] started successfully
[chimp][browserdriver] kill called on browserdriver process with pid 1143
[chimp][browserdriver] checking if process exists
[chimp][browserdriver] browserdriver process exists, killing it with SIGTERM
[chimp][browserdriver] waiting for process to die (0/10)
[chimp][browserdriver] process is dead
Browser version: chrome undefined

I would appreciate if someone tell me how to debug the line
Browser version: chrome undefined
because on a success run this line gives me the browser version.

I have opened an issue here
giggio/node-chromedriver#157

Update: The referenced issue is resolved, so does my comment here.