Search code examples
meteorcucumberacceptancechimp.js

Meteor acceptance testing with Chimp always gives error


I am following the below example to see how acceptance tests are implemented in Meteor

http://www.mhurwi.com/tutorial-test-driven-development-with-meteor-cucumber-chimp/

Below are the steps that i have tried

  1. Install Chimp globally i.e. npm install -g chimp
  2. Download the git example from the above link
  3. Run meteor application on port 3000
  4. Open a separate terminal and then execute the following command

    chimp --ddp=http://localhost:3000 --watch --path=tests

I get the following error all the time even though i am able to run the meteor application with no server or client errors

[chimp] Running...
=> Your Meteor application has errors.

Node version : 4.2.3

App Meteor version : 1.2.1

Base Meteor version : 1.4.0.1

Don't understand what is that i am doing wrong...Any help is appreciated.

Full error log below

[chimp] Chimp options are { watch: false,
  watchTags: '@focus,@dev,@watch',
  watchWithPolling: false,
  criticalSteps: null,
  criticalTag: '@critical',
  server: false,
  serverPort: 8060,
  serverHost: 'localhost',
  sync: true,
  offline: 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:E:\\Nodist\\bin\\node_modules\\chimp\\dist\\lib\\babel-register.js',
  conditionOutput: true,
  browser: 'chrome',
  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: '2.53.1',
     baseURL: 'https://selenium-release.storage.googleapis.com',
     drivers: { chrome: [Object], ie: [Object] } },
  noSessionReuse: false,
  simianResultEndPoint: 'api.simian.io/v1.0/result',
  simianAccessToken: false,
  simianResultBranch: null,
  simianRepositoryId: null,
  mocha: false,
  mochaTags: '',
  mochaGrep: null,
  mochaTimeout: 60000,
  mochaReporter: 'spec',
  mochaSlow: 10000,
  jasmine: false,
  jasmineConfig:
   { specDir: '.',
     specFiles: [ '**/*@(_spec|-spec|Spec).@(js|jsx)' ],
     helpers: [ 'support/**/*.@(js|jsx)' ],
     stopSpecOnExpectationFailure: false,
     random: false },
  jasmineReporterConfig: {},
  ddp: false,
  phantom_w: 1280,
  phantom_h: 1024,
  log: 'info',
  debug: false,
  seleniumDebug: null,
  debugCucumber: null,
  debugBrkCucumber: null,
  debugMocha: null,
  debugBrkMocha: null }
[chimp] Watching features with tagged with @focus,@dev,@watch
[chimp] watcher ready, running for the first time
[chimp] rerunning

[chimp] Running...
[chimp] interrupting
[chimp] no processes to interrupt
[chimp][selenium] Selenium object created
[chimp][selenium] Start
[chimp][selenium] Installing Selenium + drivers if needed
=> Your Meteor application has errors.

[chimp][selenium] hub can be seen at http://localhost:57897/wd/hub
[chimp][ddp-watcher] DDP connection error! Network error: ws://localhost:3000/websocket: connect ECONNREFUSED 127.0.0.1:3000
Unhandled rejection Error: Network error: ws://localhost:3000/websocket: connect ECONNREFUSED 127.0.0.1:3000
    at Object.ensureErrorObject (E:\Nodist\bin\node_modules\chimp\node_modules\bluebird\js\main\util.js:261:20)
    at Promise._rejectCallback (E:\Nodist\bin\node_modules\chimp\node_modules\bluebird\js\main\promise.js:469:22)
    at E:\Nodist\bin\node_modules\chimp\node_modules\bluebird\js\main\promise.js:486:17
    at onFailed (E:\Nodist\bin\node_modules\chimp\node_modules\xolvio-ddp\lib\ddp-client.js:338:7)
    at g (events.js:260:16)
    at emitOne (events.js:77:13)
    at emit (events.js:169:7)
    at null.<anonymous> (E:\Nodist\bin\node_modules\chimp\node_modules\xolvio-ddp\lib\ddp-client.js:84:12)
    at emitOne (events.js:82:20)
    at emit (events.js:169:7)
    at EventTarget.dispatchEvent (E:\Nodist\bin\node_modules\chimp\node_modules\faye-websocket\lib\faye\websocket\api\event_target.js:24:10)
    at instance._emitError (E:\Nodist\bin\node_modules\chimp\node_modules\faye-websocket\lib\faye\websocket\api.js:142:10)
    at Socket.<anonymous> (E:\Nodist\bin\node_modules\chimp\node_modules\faye-websocket\lib\faye\websocket\api.js:111:12)
    at emitOne (events.js:82:20)
    at Socket.emit (events.js:169:7)
    at emitErrorNT (net.js:1253:8)

Updated log

[chimp] Running...
[chimp] interrupting
[chimp] no processes to interrupt
[chimp][selenium] Selenium object created
[chimp][selenium] Start
[chimp][selenium] Installing Selenium + drivers if needed
=> Your Meteor application has errors.
[chimp][ddp-watcher] Connected
[chimp][ddp-watcher] ADDED to meteor_autoupdate_clientVersions:  e4NrqzoRgyNdxad2f
[chimp][ddp-watcher] ADDED to meteor_autoupdate_clientVersions:  version
[chimp][ddp-watcher] ADDED to meteor_autoupdate_clientVersions:  version-cordova
[chimp][ddp-watcher] ADDED to meteor_autoupdate_clientVersions:  version-refreshable
[chimp][ddp-watcher] meteor_autoupdate_clientVersions ready:
[chimp][ddp-watcher] [object Object]

[chimp][selenium] hub can be seen at http://localhost:62772/wd/hub
[chimp] Finished running async processes with errors
[chimp] run complete with errors [Error: Unable to connect to selenium]
[chimp] finished rerun

Solution

  • This seems to be a proxy issue. My corporate group policy seems to enforce a different proxy settings which ideally replace my system proxy bypass settings.

    Once i connected my laptop to guest wifi, which doesn't use any proxy settings, selenium server was suddenly reachable and then chimp ran my test successfully.