chenglou / chenglou/node-huxley
Mutliple errors on quitting record: window._getHuxleyEvents is not a function
- Dominant language
- JavaScript
- Stars
- 358
- Forks
- 24
- PR merge metrics
- No merged PRs in 30d
Description
I'm attempting to record using live playback, but have come across some issues when hitting 'q':
**Firefox:**
```
$ hux --record
--------------------------------
Begin record "test"
--------------------------------
`enter`: take screenshot.
`l` `enter`: toggle real-time recording (for animation, ajax).
`q` `enter`: quit.
> l
Live playback on.
>
screenshot 1 recorded.
>
screenshot 2 recorded.
>
screenshot 3 recorded.
> l
Live playback off.
> q
Possibly unhandled UnknownError: window._getHuxleyEvents is not a function
Build info: version: '2.43.1', revision: '5163bce', time: '2014-09-10 16:27:33'
System info: host: 'whatisthisidonteven.mellmo.lan', ip: '10.1.50.153', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.4', java.version: '1.6.0_65'
Driver info: driver.version: unknown
at new bot.Error (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/atoms/error.js:113:18)
at Object.bot.response.checkResponse (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/atoms/response.js:106:9)
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:319:20
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:1640:20)
at notify (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:444:12)
at notifyAll (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:422:7)
at resolve (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:400:7)
at fulfill (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:512:5)
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:1507:10
==== async task ====
WebDriver.executeScript()
at webdriver.WebDriver.schedule (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:302:15)
at webdriver.WebDriver.executeScript (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:446:15)
at Object.executeScript (/usr/local/lib/node_modules/huxley/source/browser/browser.js:124:17)
at Object.getActions (/usr/local/lib/node_modules/huxley/source/record/actionsTracker/actionsTracker.js:21:18)
at /usr/local/lib/node_modules/huxley/source/record/recordTask.js:46:30
at tryCatch1 (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/util.js:43:21)
at Promise$_callHandler [as _callHandler] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:648:13)
at Promise$_settlePromiseFromHandler [as _settlePromiseFromHandler] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:662:18)
at Promise$_settlePromiseAt [as _settlePromiseAt] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:825:14)
The tests now halt. You might have unfinished tasks.
Possibly unhandled UnknownError: window._getHuxleyEvents is not a function
Build info: version: '2.43.1', revision: '5163bce', time: '2014-09-10 16:27:33'
System info: host: 'whatisthisidonteven.mellmo.lan', ip: '10.1.50.153', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.4', java.version: '1.6.0_65'
Driver info: driver.version: unknown
at new bot.Error (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/atoms/error.js:113:18)
at Object.bot.response.checkResponse (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/atoms/response.js:106:9)
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:319:20
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:1640:20)
at notify (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:444:12)
at notifyAll (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:422:7)
at resolve (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:400:7)
at fulfill (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:512:5)
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:1507:10
==== async task ====
WebDriver.executeScript()
at webdriver.WebDriver.schedule (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:302:15)
at webdriver.WebDriver.executeScript (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:446:15)
at Object.executeScript (/usr/local/lib/node_modules/huxley/source/browser/browser.js:124:17)
at Object.getActions (/usr/local/lib/node_modules/huxley/source/record/actionsTracker/actionsTracker.js:21:18)
at /usr/local/lib/node_modules/huxley/source/record/recordTask.js:46:30
at tryCatch1 (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/util.js:43:21)
at Promise$_callHandler [as _callHandler] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:648:13)
at Promise$_settlePromiseFromHandler [as _settlePromiseFromHandler] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:662:18)
at Promise$_settlePromiseAt [as _settlePromiseAt] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:825:14)
```
**Chrome:**
```
$ hux -b chrome -r
--------------------------------
Begin record "test"
--------------------------------
`enter`: take screenshot.
`l` `enter`: toggle real-time recording (for animation, ajax).
`q` `enter`: quit.
> l
Live playback on.
>
screenshot 1 recorded.
>
screenshot 2 recorded.
>
screenshot 3 recorded.
> q
Possibly unhandled UnknownError: unknown error: undefined is not a function
(Session info: chrome=38.0.2125.111)
(Driver info: chromedriver=2.10.267517,platform=Mac OS X 10.9.4 x86_64)
at new bot.Error (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/atoms/error.js:113:18)
at Object.bot.response.checkResponse (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/atoms/response.js:106:9)
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:319:20
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:1640:20)
at notify (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:444:12)
at notifyAll (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:422:7)
at resolve (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:400:7)
at fulfill (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:512:5)
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:1507:10
==== async task ====
WebDriver.executeScript()
at webdriver.WebDriver.schedule (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:302:15)
at webdriver.WebDriver.executeScript (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:446:15)
at Object.executeScript (/usr/local/lib/node_modules/huxley/source/browser/browser.js:124:17)
at Object.getActions (/usr/local/lib/node_modules/huxley/source/record/actionsTracker/actionsTracker.js:21:18)
at /usr/local/lib/node_modules/huxley/source/record/recordTask.js:46:30
at tryCatch1 (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/util.js:43:21)
at Promise$_callHandler [as _callHandler] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:648:13)
at Promise$_settlePromiseFromHandler [as _settlePromiseFromHandler] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:662:18)
at Promise$_settlePromiseAt [as _settlePromiseAt] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:825:14)
The tests now halt. You might have unfinished tasks.
Possibly unhandled UnknownError: unknown error: undefined is not a function
(Session info: chrome=38.0.2125.111)
(Driver info: chromedriver=2.10.267517,platform=Mac OS X 10.9.4 x86_64)
at new bot.Error (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/atoms/error.js:113:18)
at Object.bot.response.checkResponse (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/atoms/response.js:106:9)
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:319:20
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:1640:20)
at notify (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:444:12)
at notifyAll (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:422:7)
at resolve (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:400:7)
at fulfill (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:512:5)
at /usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/promise.js:1507:10
==== async task ====
WebDriver.executeScript()
at webdriver.WebDriver.schedule (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:302:15)
at webdriver.WebDriver.executeScript (/usr/local/lib/node_modules/huxley/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:446:15)
at Object.executeScript (/usr/local/lib/node_modules/huxley/source/browser/browser.js:124:17)
at Object.getActions (/usr/local/lib/node_modules/huxley/source/record/actionsTracker/actionsTracker.js:21:18)
at /usr/local/lib/node_modules/huxley/source/record/recordTask.js:46:30
at tryCatch1 (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/util.js:43:21)
at Promise$_callHandler [as _callHandler] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:648:13)
at Promise$_settlePromiseFromHandler [as _settlePromiseFromHandler] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:662:18)
at Promise$_settlePromiseAt [as _settlePromiseAt] (/usr/local/lib/node_modules/huxley/node_modules/bluebird/js/main/promise.js:825:14)
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the failure with `hux --record` or `hux -b chrome -r`, enable live playback, and quit. Start with `source/record/recordTask.js`, `source/record/actionsTracker/actionsTracker.js`, and `source/browser/browser.js`, especially the `getActions` and `executeScript` paths. Done means quitting after live playback no longer raises the reported WebDriver errors and the recording flow continues.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- testing-qa, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100