Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Be less sensitive to closed windows / stale browser sessions #78

Closed
DominikGuzei opened this issue Sep 27, 2015 · 7 comments
Closed

Be less sensitive to closed windows / stale browser sessions #78

DominikGuzei opened this issue Sep 27, 2015 · 7 comments

Comments

@DominikGuzei
Copy link
Contributor

Hey there!
Just wanted to point a problem that i am running into a lot when working with services like Facebook that use pop-ups etc. Chimp currently is really sensitive to browser windows not being closed "correctly" etc. which is kind of annoying when you try to setup a tab-switching workflow in your tests.

To try it, just run some tests and close the browser window by hand in the middle of anything. Chimp will completely freak out and not restart anymore. IMO it should not care at all – just stop the current test run and wait for the next file change to be there for you 😉

Here is one of the logs from such an error where i have to completely restart the test-server afterwards:

[chimp][hooks] BeforeFeatures hook had error
{ [Error: Window not found. The browser window may have been closed.
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'Macintosh.local', ip: '25.174.89.152', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.5', java.version: '1.8.0_60'
Driver info: driver.version: unknown]
  message: 'Window not found. The browser window may have been closed.\nBuild info: version: \'2.47.1\', revision: \'411b314\', time: \'2015-07-30 03:03:16\'\nSystem info: host: \'Macintosh.local\', ip: \'25.174.89.152\', os.name: \'Mac OS X\', os.arch: \'x86_64\', os.version: \'10.9.5\', java.version: \'1.8.0_60\'\nDriver info: driver.version: unknown',
  type: 'RuntimeError' }
Error: Window not found. The browser window may have been closed.
  at Object.Future.wait (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/fibers/future.js:420:15)
  at Object.timeoutsAsyncScriptSync (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/xolvio-fiber-utils/index.js:48:19)
  at initBrowser (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/lib/cucumberjs/hooks.js:91:15)
  at /Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/lib/cucumberjs/hooks.js:119:7
  at /Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/lib/cucumber-wrapper.js:116:43

    - - - - -
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'Macintosh.local', ip: '25.174.89.152', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.5', java.version: '1.8.0_60'
Driver info: driver.version: unknown
  at new ErrorHandler.RuntimeError (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/lib/utils/ErrorHandler.js:92:12)
  at RequestHandler.<anonymous> (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/lib/utils/RequestHandler.js:138:25)
  at Request.self.callback (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/node_modules/request/request.js:373:22)
  at Request.emit (events.js:98:17)
  at Request.<anonymous> (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/node_modules/request/request.js:1318:14)
  at Request.emit (events.js:117:20)
  at IncomingMessage.<anonymous> (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/node_modules/request/request.js:1266:12)
  at IncomingMessage.emit (events.js:117:20)
  at _stream_readable.js:944:16
  at process._tickDomainCallback (node.js:492:13)

[chimp] Finished running async processes with errors
[chimp] run complete with errors Cucumber steps failed
[chimp] Could not get Cucumber Results from run result:
[ undefined, [ null ] ]
[xolvio:cucumber] Bad response from Chimp server.
{ statusCode: 200,
  content: '',
  headers: 
   { 'content-type': 'application/json; charset=utf-8',
     'cache-control': 'no-cache',
     'content-length': '0',
     date: 'Sun, 27 Sep 2015 12:09:36 GMT',
     connection: 'keep-alive' },
  data: null }
@rhyslbw
Copy link
Contributor

rhyslbw commented Sep 27, 2015

+1

@DominikGuzei
Copy link
Contributor Author

And this is what i get when something went wrong, i close the remote browser after all tests ran and i try to re-run some scenarios:

[chimp][hooks] BeforeFeatures hook had error
{ [Error: Error communicating with the remote browser. It may have died.
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'Macintosh.local', ip: '25.174.89.152', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.5', java.version: '1.8.0_60'
Driver info: driver.version: FirefoxDriver]
  message: 'Error communicating with the remote browser. It may have died.\nBuild info: version: \'2.47.1\', revision: \'411b314\', time: \'2015-07-30 03:03:16\'\nSystem info: host: \'Macintosh.local\', ip: \'25.174.89.152\', os.name: \'Mac OS X\', os.arch: \'x86_64\', os.version: \'10.9.5\', java.version: \'1.8.0_60\'\nDriver info: driver.version: FirefoxDriver',
  type: 'RuntimeError' }
Error: Error communicating with the remote browser. It may have died.
  at Object.Future.wait (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/fibers/future.js:420:15)
  at Object.timeoutsAsyncScriptSync (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/xolvio-fiber-utils/index.js:48:19)
  at initBrowser (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/lib/cucumberjs/hooks.js:91:15)
  at /Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/lib/cucumberjs/hooks.js:119:7
  at /Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/lib/cucumber-wrapper.js:116:43

    - - - - -
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'Macintosh.local', ip: '25.174.89.152', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.5', java.version: '1.8.0_60'
Driver info: driver.version: FirefoxDriver
  at new ErrorHandler.RuntimeError (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/lib/utils/ErrorHandler.js:92:12)
  at RequestHandler.<anonymous> (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/lib/utils/RequestHandler.js:138:25)
  at Request.self.callback (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/node_modules/request/request.js:373:22)
  at Request.emit (events.js:98:17)
  at Request.<anonymous> (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/node_modules/request/request.js:1318:14)
  at Request.emit (events.js:117:20)
  at IncomingMessage.<anonymous> (/Users/dominik/.meteor/packages/xolvio_cucumber/.0.14.1.1kokaqw++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/chimp/node_modules/xolvio-sync-webdriverio/node_modules/webdriverio/node_modules/request/request.js:1266:12)
  at IncomingMessage.emit (events.js:117:20)
  at _stream_readable.js:944:16
  at process._tickDomainCallback (node.js:492:13)

[chimp] Finished running async processes with errors
[chimp] run complete with errors Cucumber steps failed
[chimp] Could not get Cucumber Results from run result:
[ undefined, [ null ] ]
[xolvio:cucumber] Bad response from Chimp server.
{ statusCode: 200,
  content: '',
  headers: 
   { 'content-type': 'application/json; charset=utf-8',
     'cache-control': 'no-cache',
     'content-length': '0',
     date: 'Sun, 27 Sep 2015 17:41:31 GMT',
     connection: 'keep-alive' },
  data: null }

@samhatoum
Copy link
Member

Thanks for this

I think we can update the session manager to detect these errors and create a new session if one is not found. I used to do this with RTD.

@DominikGuzei
Copy link
Contributor Author

You're welcome, thanks so much for taking on the problem! 👍

@danborufka
Copy link

+1

1 similar comment
@SierraGolf
Copy link

+1

@samhatoum
Copy link
Member

This issue is being tracked in Chimpy
https://github.com/TheBrainFamily/chimpy/issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants