Skip to content

Commit 5e2972e

Browse files
committed
[rust] Clean logic for checking driver version
1 parent 390fd2d commit 5e2972e

1 file changed

Lines changed: 21 additions & 21 deletions

File tree

rust/src/lib.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,9 @@ pub trait SeleniumManager {
281281
browser_version
282282
}
283283

284-
fn discover_driver_version(&mut self) -> Result<String, Box<dyn Error>> {
284+
fn discover_or_download_browser_and_driver_version(
285+
&mut self,
286+
) -> Result<String, Box<dyn Error>> {
285287
let mut download_browser = self.is_force_browser_download();
286288
let major_browser_version = self.get_major_browser_version();
287289

@@ -526,22 +528,23 @@ pub trait SeleniumManager {
526528
}
527529
}
528530

529-
// Discover proper driver version
530-
if self.get_driver_version().is_empty() {
531-
match self.discover_driver_version() {
532-
Ok(driver_version) => {
531+
// Discover browser version (or download it, if not available and possible).
532+
// With the found browser version, discover the proper driver version using online endpoints
533+
match self.discover_or_download_browser_and_driver_version() {
534+
Ok(driver_version) => {
535+
if self.get_driver_version().is_empty() {
533536
self.set_driver_version(driver_version);
534537
}
535-
Err(err) => {
536-
if driver_in_path_version.is_some() {
537-
self.get_logger().warn(format!(
538-
"Exception managing {}: {}",
539-
self.get_browser_name(),
540-
err
541-
));
542-
} else {
543-
return Err(err);
544-
}
538+
}
539+
Err(err) => {
540+
if driver_in_path_version.is_some() && driver_in_path.is_some() {
541+
self.get_logger().warn(format!(
542+
"Exception managing {}: {}",
543+
self.get_browser_name(),
544+
err
545+
));
546+
} else {
547+
return Err(err);
545548
}
546549
}
547550
}
@@ -550,12 +553,9 @@ pub trait SeleniumManager {
550553
if let (Some(version), Some(path)) = (&driver_in_path_version, &driver_in_path) {
551554
// If proper driver version is not the same as the driver in path, display warning
552555
let major_version = self.get_major_version(version)?;
553-
let driver_condition = if self.is_firefox() {
554-
!version.eq(self.get_driver_version())
555-
} else {
556-
!major_version.eq(&self.get_major_browser_version())
557-
};
558-
if !self.get_driver_version().is_empty() && driver_condition {
556+
if (self.is_firefox() && !version.eq(self.get_driver_version()))
557+
|| !major_version.eq(&self.get_major_browser_version())
558+
{
559559
self.get_logger().warn(format!(
560560
"The {} version ({}) detected in PATH at {} might not be compatible with \
561561
the detected {} version ({}); currently, {} {} is recommended for {} {}.*, \

0 commit comments

Comments
 (0)