用 Chimp 进行流星验收测试总是出错

Meteor acceptance testing with Chimp always gives error

我正在按照下面的示例查看验收测试是如何在 Meteor 中实现的

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

以下是我试过的步骤

  1. 全局安装 Chimp 即 npm install -g chimp
  2. 从上面下载 git 示例 link
  3. 运行 端口 3000 上的流星应用程序
  4. 打开一个单独的终端,然后执行下面的命令

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

即使我能够 运行 没有服务器或客户端错误的 meteor 应用程序,我也一直收到以下错误

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

节点版本:4.2.3

App Meteor 版本:1.2.1

基础 Meteor 版本:1.4.0.1

不明白我做错了什么...感谢任何帮助。

下面是完整的错误日志

[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)

更新日志

[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

最新版本Chimp.js requires Oracle's JDK 1.8 or higher. You can download Oracle's latest JDK here。通过 运行 java -version.

确认您的版本

这似乎是一个代理问题。我的公司组策略似乎强制执行不同的代理设置,理想情况下取代我的系统代理绕过设置。

一旦我将我的笔记本电脑连接到不使用任何代理设置的访客 wifi,selenium 服务器突然可以访问,然后 chimp 运行 我的测试成功。