@@ -490,58 +490,66 @@ pub trait SeleniumManager {
490
490
discovered_version
491
491
) ) ;
492
492
}
493
- let discovered_major_browser_version = self
494
- . get_major_version ( & discovered_version)
495
- . unwrap_or_default ( ) ;
496
-
497
- if self . is_browser_version_stable ( ) || self . is_browser_version_unstable ( ) {
498
- let online_browser_version = self . request_browser_version ( ) ?;
499
- if online_browser_version. is_some ( ) {
500
- let major_online_browser_version =
501
- self . get_major_version ( & online_browser_version. unwrap ( ) ) ?;
502
- if discovered_major_browser_version. eq ( & major_online_browser_version) {
503
- self . get_logger ( ) . debug ( format ! (
504
- "Discovered online {} version ({}) is the same as the detected local {} version" ,
505
- self . get_browser_name( ) ,
506
- discovered_major_browser_version,
507
- self . get_browser_name( ) ,
508
- ) ) ;
509
- self . set_browser_version ( discovered_version) ;
493
+ if self . is_browser_version_specific ( )
494
+ && !self . get_browser_version ( ) . eq ( & discovered_version)
495
+ {
496
+ download_browser = true ;
497
+ } else {
498
+ let discovered_major_browser_version = self
499
+ . get_major_version ( & discovered_version)
500
+ . unwrap_or_default ( ) ;
501
+
502
+ if self . is_browser_version_stable ( ) || self . is_browser_version_unstable ( ) {
503
+ let online_browser_version = self . request_browser_version ( ) ?;
504
+ if online_browser_version. is_some ( ) {
505
+ let major_online_browser_version =
506
+ self . get_major_version ( & online_browser_version. unwrap ( ) ) ?;
507
+ if discovered_major_browser_version
508
+ . eq ( & major_online_browser_version)
509
+ {
510
+ self . get_logger ( ) . debug ( format ! (
511
+ "Discovered online {} version ({}) is the same as the detected local {} version" ,
512
+ self . get_browser_name( ) ,
513
+ discovered_major_browser_version,
514
+ self . get_browser_name( ) ,
515
+ ) ) ;
516
+ self . set_browser_version ( discovered_version) ;
517
+ } else {
518
+ self . get_logger ( ) . debug ( format ! (
519
+ "Discovered online {} version ({}) is different to the detected local {} version ({})" ,
520
+ self . get_browser_name( ) ,
521
+ major_online_browser_version,
522
+ self . get_browser_name( ) ,
523
+ discovered_major_browser_version,
524
+ ) ) ;
525
+ download_browser = true ;
526
+ }
510
527
} else {
511
- self . get_logger ( ) . debug ( format ! (
512
- "Discovered online {} version ({}) is different to the detected local {} version ({})" ,
513
- self . get_browser_name( ) ,
514
- major_online_browser_version,
515
- self . get_browser_name( ) ,
516
- discovered_major_browser_version,
517
- ) ) ;
518
- download_browser = true ;
528
+ self . set_browser_version ( discovered_version) ;
519
529
}
530
+ } else if !major_browser_version. is_empty ( )
531
+ && !self . is_browser_version_unstable ( )
532
+ && !major_browser_version. eq ( & discovered_major_browser_version)
533
+ {
534
+ self . get_logger ( ) . debug ( format ! (
535
+ "Discovered {} version ({}) different to specified browser version ({})" ,
536
+ self . get_browser_name( ) ,
537
+ discovered_major_browser_version,
538
+ major_browser_version,
539
+ ) ) ;
540
+ download_browser = true ;
520
541
} else {
521
542
self . set_browser_version ( discovered_version) ;
522
543
}
523
- } else if !major_browser_version. is_empty ( )
524
- && !self . is_browser_version_unstable ( )
525
- && !major_browser_version. eq ( & discovered_major_browser_version)
526
- {
527
- self . get_logger ( ) . debug ( format ! (
528
- "Discovered {} version ({}) different to specified browser version ({})" ,
529
- self . get_browser_name( ) ,
530
- discovered_major_browser_version,
531
- major_browser_version,
532
- ) ) ;
533
- download_browser = true ;
534
- } else {
535
- self . set_browser_version ( discovered_version) ;
536
- }
537
- if self . is_webview2 ( ) && PathBuf :: from ( self . get_browser_path ( ) ) . is_dir ( ) {
538
- let browser_path = format ! (
539
- r"{}\{}\msedge{}" ,
540
- self . get_browser_path( ) ,
541
- & self . get_browser_version( ) ,
542
- get_binary_extension( self . get_os( ) )
543
- ) ;
544
- self . set_browser_path ( browser_path) ;
544
+ if self . is_webview2 ( ) && PathBuf :: from ( self . get_browser_path ( ) ) . is_dir ( ) {
545
+ let browser_path = format ! (
546
+ r"{}\{}\msedge{}" ,
547
+ self . get_browser_path( ) ,
548
+ & self . get_browser_version( ) ,
549
+ get_binary_extension( self . get_os( ) )
550
+ ) ;
551
+ self . set_browser_path ( browser_path) ;
552
+ }
545
553
}
546
554
}
547
555
None => {
0 commit comments