Skip to content

Unhandled promise rejection when trying to install non-existent browser version #487

Open
@thw0rted

Description

@thw0rted

This is a different issue from #393, in spite of the similar title. The resolution for that issue was to check that a full semver was passed as an argument, but I'm talking about user error where a Chrome version is specified that isn't present in the index (XML) downloaded from the server.

Try running webdriver-manager update --versions.chrome=88.77.66.55 (or any a non-existent version). You'll wind up with output like

[12:37:38] E/downloader - options.uri is a required argument
[12:37:38] I/update - chromedriver: file exists ...\node_modules\webdriver-manager\selenium\chromedriver_88.77.66.55.zip
[12:37:38] I/update - chromedriver: unzipping chromedriver_88.77.66.55.zip
(node:19840) UnhandledPromiseRejectionWarning: Error: Invalid filename: ...\node_modules\webdriver-manager\selenium\chromedriver_88.77.66.55.zip
    at unzip (...\node_modules\webdriver-manager\built\lib\cmds\update.js:232:19)
    at ...\node_modules\webdriver-manager\built\lib\cmds\update.js:205:13
    at async Promise.all (index 1)
(node:19840) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:19840) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Failure to handle this error also means that the script's exit code is zero, so it's impossible to use webdriver-manager update in a script and fail gracefully when it doesn't actually install the chromedriver.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions