@@ -35,7 +35,7 @@ use reqwest::Client;
35
35
use serde:: { Deserialize , Serialize } ;
36
36
use std:: collections:: HashMap ;
37
37
use std:: option:: Option ;
38
- use std:: path:: PathBuf ;
38
+ use std:: path:: { Path , PathBuf } ;
39
39
use std:: sync:: mpsc;
40
40
use std:: sync:: mpsc:: { Receiver , Sender } ;
41
41
@@ -50,6 +50,8 @@ const CFT_MACOS_APP_NAME: &str =
50
50
"Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing" ;
51
51
const MIN_CHROME_VERSION_CFT : i32 = 113 ;
52
52
const MIN_CHROMEDRIVER_VERSION_CFT : i32 = 115 ;
53
+ const CHROMIUM_SNAP_LINK : & str = "/snap/bin/chromium" ;
54
+ const CHROMIUM_SNAP_BINARY : & str = "/snap/chromium/current/usr/lib/chromium-browser/chrome" ;
53
55
54
56
pub struct ChromeManager {
55
57
pub browser_name : & ' static str ,
@@ -587,6 +589,15 @@ impl SeleniumManager for ChromeManager {
587
589
fn set_download_browser ( & mut self , download_browser : bool ) {
588
590
self . download_browser = download_browser;
589
591
}
592
+
593
+ fn is_snap ( & self , browser_path : & str ) -> bool {
594
+ LINUX . is ( self . get_os ( ) )
595
+ && ( browser_path. eq ( CHROMIUM_SNAP_LINK ) || browser_path. eq ( CHROMIUM_SNAP_BINARY ) )
596
+ }
597
+
598
+ fn get_snap_path ( & self ) -> Option < PathBuf > {
599
+ Some ( Path :: new ( CHROMIUM_SNAP_BINARY ) . to_path_buf ( ) )
600
+ }
590
601
}
591
602
592
603
#[ derive( Serialize , Deserialize ) ]
0 commit comments