MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / get_browser_binary_path

Method get_browser_binary_path

rust/src/edge.rs:481–522  ·  view source on GitHub ↗
(&mut self, browser_version: &str)

Source from the content-addressed store, hash-verified

479 }
480
481 fn get_browser_binary_path(&mut self, browser_version: &str) -> Result<PathBuf, Error> {
482 let browser_in_cache = self.get_browser_path_in_cache()?;
483 if MACOS.is(self.get_os()) {
484 let macos_app_name = if self.is_beta(browser_version) {
485 EDGE_BETA_MACOS_APP_NAME
486 } else if self.is_dev(browser_version) {
487 EDGE_DEV_MACOS_APP_NAME
488 } else if self.is_nightly(browser_version) {
489 EDGE_CANARY_MACOS_APP_NAME
490 } else {
491 EDGE_MACOS_APP_NAME
492 };
493 Ok(browser_in_cache.join(macos_app_name))
494 } else if WINDOWS.is(self.get_os()) {
495 // Stable Edge MSI installs to Program Files (x86) for compatibility
496 // Beta/Dev/Canary MSIs install to Program Files
497 let (browser_path, program_files_env) = if self.is_unstable(browser_version) {
498 (
499 self.get_browser_path_from_version(browser_version)
500 .to_string(),
501 ENV_PROGRAM_FILES,
502 )
503 } else {
504 (
505 format!(
506 r"Microsoft\Edge\Application\{}\msedge.exe",
507 self.get_browser_version()
508 ),
509 ENV_PROGRAM_FILES_X86,
510 )
511 };
512 let env_value = env::var(program_files_env).unwrap_or_default();
513 let full_browser_path = Path::new(&env_value).join(&browser_path);
514 Ok((&path_to_string(&full_browser_path)).into())
515 } else {
516 Ok(browser_in_cache.join(format!(
517 "{}{}",
518 EDGE_WINDOWS_AND_LINUX_APP_NAME,
519 get_binary_extension(self.get_os())
520 )))
521 }
522 }
523
524 fn get_browser_url_for_download(&mut self, browser_version: &str) -> Result<String, Error> {
525 if self.browser_url.is_none() {

Callers 1

download_browserMethod · 0.45

Calls 9

path_to_stringFunction · 0.85
get_osMethod · 0.80
is_betaMethod · 0.80
is_devMethod · 0.80
is_nightlyMethod · 0.80
is_unstableMethod · 0.80
isMethod · 0.65

Tested by

no test coverage detected