@@ -35,7 +35,7 @@ use reqwest::Client;
3535use serde:: { Deserialize , Serialize } ;
3636use std:: collections:: HashMap ;
3737use std:: option:: Option ;
38- use std:: path:: PathBuf ;
38+ use std:: path:: { Path , PathBuf } ;
3939use std:: sync:: mpsc;
4040use std:: sync:: mpsc:: { Receiver , Sender } ;
4141
@@ -50,6 +50,8 @@ const CFT_MACOS_APP_NAME: &str =
5050 "Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing" ;
5151const MIN_CHROME_VERSION_CFT : i32 = 113 ;
5252const 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" ;
5355
5456pub struct ChromeManager {
5557 pub browser_name : & ' static str ,
@@ -587,6 +589,15 @@ impl SeleniumManager for ChromeManager {
587589 fn set_download_browser ( & mut self , download_browser : bool ) {
588590 self . download_browser = download_browser;
589591 }
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+ }
590601}
591602
592603#[ derive( Serialize , Deserialize ) ]
0 commit comments