Skip to content

Commit f7cf7c7

Browse files
authored
[rust] Selenium-Manager fails when a browser detection fails with browser version (SeleniumHQ#11382) (SeleniumHQ#11399)
1 parent dc8bba9 commit f7cf7c7

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

rust/src/lib.rs

+16-7
Original file line numberDiff line numberDiff line change
@@ -142,23 +142,32 @@ pub trait SeleniumManager {
142142
.browsers
143143
.push(create_browser_metadata(browser_name, &browser_version));
144144
write_metadata(&metadata);
145-
Some(browser_version)
145+
if !browser_version.is_empty() {
146+
Some(browser_version)
147+
} else {
148+
None
149+
}
146150
}
147151
}
148152
}
149153

150-
fn discover_driver_version(&mut self) -> String {
151-
if self.get_browser_version().is_empty() || self.is_browser_version_unstable() {
154+
fn discover_driver_version(&mut self) -> Result<String, String> {
155+
let browser_version = self.get_browser_version();
156+
if browser_version.is_empty() || self.is_browser_version_unstable() {
152157
match self.discover_browser_version() {
153158
Some(version) => {
154159
log::debug!("Detected browser: {} {}", self.get_browser_name(), version);
155160
self.set_browser_version(version);
156161
}
157162
None => {
158-
log::debug!(
163+
if self.is_browser_version_unstable() {
164+
return Err(format!("Browser version '{browser_version}' not found"));
165+
} else {
166+
log::debug!(
159167
"The version of {} cannot be detected. Trying with latest driver version",
160168
self.get_browser_name()
161-
);
169+
);
170+
}
162171
}
163172
}
164173
}
@@ -170,7 +179,7 @@ pub trait SeleniumManager {
170179
self.get_driver_name(),
171180
driver_version
172181
);
173-
driver_version
182+
Ok(driver_version)
174183
}
175184

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

184193
fn resolve_driver(&mut self) -> Result<PathBuf, Box<dyn Error>> {
185194
if self.get_driver_version().is_empty() {
186-
let driver_version = self.discover_driver_version();
195+
let driver_version = self.discover_driver_version()?;
187196
self.set_driver_version(driver_version);
188197
}
189198

0 commit comments

Comments
 (0)