Skip to content

Commit

Permalink
[rust] Selenium-Manager fails when a browser detection fails with bro…
Browse files Browse the repository at this point in the history
  • Loading branch information
bonigarcia committed Dec 12, 2022
1 parent dc8bba9 commit f7cf7c7
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions rust/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -142,23 +142,32 @@ pub trait SeleniumManager {
.browsers
.push(create_browser_metadata(browser_name, &browser_version));
write_metadata(&metadata);
Some(browser_version)
if !browser_version.is_empty() {
Some(browser_version)
} else {
None
}
}
}
}

fn discover_driver_version(&mut self) -> String {
if self.get_browser_version().is_empty() || self.is_browser_version_unstable() {
fn discover_driver_version(&mut self) -> Result<String, String> {
let browser_version = self.get_browser_version();
if browser_version.is_empty() || self.is_browser_version_unstable() {
match self.discover_browser_version() {
Some(version) => {
log::debug!("Detected browser: {} {}", self.get_browser_name(), version);
self.set_browser_version(version);
}
None => {
log::debug!(
if self.is_browser_version_unstable() {
return Err(format!("Browser version '{browser_version}' not found"));
} else {
log::debug!(
"The version of {} cannot be detected. Trying with latest driver version",
self.get_browser_name()
);
);
}
}
}
}
Expand All @@ -170,7 +179,7 @@ pub trait SeleniumManager {
self.get_driver_name(),
driver_version
);
driver_version
Ok(driver_version)
}

fn is_browser_version_unstable(&self) -> bool {
Expand All @@ -183,7 +192,7 @@ pub trait SeleniumManager {

fn resolve_driver(&mut self) -> Result<PathBuf, Box<dyn Error>> {
if self.get_driver_version().is_empty() {
let driver_version = self.discover_driver_version();
let driver_version = self.discover_driver_version()?;
self.set_driver_version(driver_version);
}

Expand Down

0 comments on commit f7cf7c7

Please sign in to comment.