samccone/drool

The latest version of chromedriver is causing some problems for drool

trezy opened this issue · 3 comments

trezy commented

I downloaded the latest version (2.9) of chromedriver from here. I threw that into /usr/bin and tried to run my test. The test can be found here and this is the resulting stack trace:

/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:654
    throw error;
    ^

WebDriverError: unknown error: cannot parse capability: chromeOptions
from unknown error: unrecognized chrome option: perfLoggingPrefs
  (Driver info: chromedriver=2.9.248307,platform=Mac OS X 10.11.3 x86_64)
    at WebDriverError (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/error.js:26:26)
    at Object.checkLegacyResponse (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/error.js:639:15)
    at parseHttpResponse (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/http/index.js:528:13)
    at /Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/http/index.js:466:11
    at ManagedPromise.invokeCallback_ (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:1343:14)
    at TaskQueue.execute_ (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:2868:14)
    at TaskQueue.executeNext_ (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:2851:21)
    at /Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:2775:25
    at /Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (node.js:412:9)
From: Task: WebDriver.createSession()
    at acquireSession (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/webdriver.js:107:22)
    at Function.createSession (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/webdriver.js:337:12)
    at Driver (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/chrome.js:778:38)
    at Builder.build (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/builder.js:464:16)
    at Object.start (/Users/charlespeebles/Development/rafael/node_modules/drool/lib/index.js:139:4)
    at Object.<anonymous> (/Users/charlespeebles/Development/rafael/test/drool.js:16:20)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
From: Task: WebDriver.navigate().to(file:///Users/charlespeebles/Development/rafael/test/test.html)
    at Driver.schedule (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/webdriver.js:386:17)
    at Navigation.to (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/webdriver.js:1029:25)
    at Driver.get (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/webdriver.js:797:28)
    at drool.flow.setup (/Users/charlespeebles/Development/rafael/test/drool.js:26:12)
    at TaskQueue.execute_ (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:2868:14)
    at TaskQueue.executeNext_ (/Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:2851:21)
    at /Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:2730:27
    at /Users/charlespeebles/Development/rafael/node_modules/drool/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (node.js:412:9)
From: Task: <anonymous>
    at executeInFlow (/Users/charlespeebles/Development/rafael/node_modules/drool/lib/index.js:9:24)
    at Object.flow (/Users/charlespeebles/Development/rafael/node_modules/drool/lib/index.js:91:3)
    at Object.<anonymous> (/Users/charlespeebles/Development/rafael/test/drool.js:24:7)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:142:18)
    at node.js:939:3

P.S. - I haven't yet tried older versions of chromedriver as there isn't a recommended version listed for drool.

yeah... guessing that is the issue here

Please note that version 2.9 is outdated (2014-02).

ChromeDriver latest release link can be found on https://sites.google.com/a/chromium.org/chromedriver/ (it is 2.25 currently).

It looks like this issue arise because of version-numbered folders are sorted as strings on https://chromedriver.storage.googleapis.com/index.html

Updated and fixed now thanks all!