Skip to content

Commit

Permalink
[javascript] Selenium Manager use binary from Browser Options
Browse files Browse the repository at this point in the history
  • Loading branch information
diemol committed Apr 17, 2023
1 parent 2c1bd8e commit 93a00d5
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
14 changes: 11 additions & 3 deletions javascript/node/selenium-webdriver/common/seleniumManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,20 +72,28 @@ function driverLocation(options) {
let args = [getBinary(), '--browser', options.getBrowserName(), '--output', 'json']

if (options.getBrowserVersion() && options.getBrowserVersion() !== "") {
console.log("Present browserVersion! " + options.getBrowserVersion())
args.push("--browser-version", options.getBrowserVersion())
}

let output
const vendorOptions = options.get('goog:chromeOptions') || options.get('ms:edgeOptions')
|| options.get('moz:firefoxOptions')
if (vendorOptions && vendorOptions.binary && vendorOptions.binary !== "") {
args.push("--browser-path", '"' + vendorOptions.binary + '"')
}

let output
try {
output = JSON.parse(execSync(args.join(' ')).toString())
} catch (e) {
let error
try {
error = JSON.parse(e.stdout.toString()).result.message
} catch (e) {
error = e.toString()
if (e instanceof SyntaxError) {
error = e.stdout.toString()
} else {
error = e.toString()
}
}
throw new Error(`Error executing command with ${args}: ${error}`)
}
Expand Down
3 changes: 3 additions & 0 deletions third_party/third_party.iml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="ModuleRunConfigurationManager">
<shared />
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file:https://$MODULE_DIR$">
Expand Down

0 comments on commit 93a00d5

Please sign in to comment.