chenglou / chenglou/node-huxley

Mutliple errors on quitting record: window._getHuxleyEvents is not a function

Open
#77 2 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.