def test_edge_manager_with_selenium(): if os_name() == 'win': driver_path = EdgeChromiumDriverManager(os_type=os_type()).install() driver = webdriver.Edge(executable_path=driver_path) driver.get("http://automation-remarks.com") driver.quit() else: driver_path = EdgeChromiumDriverManager(os_type="win32").install() assert os.path.exists(driver_path)
def setup(request): global driver if request.param == "Chrome": options = webdriver.ChromeOptions() #options.add_argument("headless") options.add_experimental_option('useAutomationExtension', False) capabilities = { 'chromeOptions': { 'useAutomationExtension': False, 'args': ['--disable-extensions'] } } driver = webdriver.Chrome(ChromeDriverManager().install()) elif request.param == "Edge": driver = webdriver.Edge(EdgeChromiumDriverManager().install()) else: driver = webdriver.Ie(IEDriverManager().install()) driver.get(Login['URL']) driver.maximize_window() t.sleep(5) request.cls.driver = driver yield driver.quit()
def test_edge_session(): service = EdgeService( executable_path=EdgeChromiumDriverManager().install()) driver = webdriver.Edge(service=service) driver.quit()
def setup1(request): browser_name = request.config.getoption("browser_name") if browser_name == 'chrome': web_driver = webdriver.Chrome( executable_path= "C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe" ) #web_driver = webdriver.Chrome(ChromeDriverManager().install()) elif browser_name == 'firefox': web_driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) elif browser_name == 'IE': web_driver = driver = webdriver.Ie(IEDriverManager().install()) elif browser_name == 'edge': web_driver = webdriver.Edge(EdgeChromiumDriverManager().install()) else: # # web_driver = webdriver.Chrome(ChromeDriverManager().install()) web_driver = webdriver.Chrome( executable_path= "C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe" ) request.cls.driver = web_driver yield web_driver.close()
def setup_driver(self): if self.selected_driver == "Chrome": self.driver = webdriver.Chrome(ChromeDriverManager().install()) elif self.selected_driver == "FireFox(Gecko)": self.driver = webdriver.Firefox(GeckoDriverManager().install()) elif self.selected_driver == "Edge": self.driver = webdriver.Edge(EdgeChromiumDriverManager().install())
def get_driver(browser, headless_mode=False) -> EventFiringWebDriver: if browser == "chrome": options = webdriver.ChromeOptions() options.add_argument("start-maximized") if headless_mode is True: options.add_argument("--headless") driver = EventFiringWebDriver( webdriver.Chrome(ChromeDriverManager().install(), options=options), WebDriverListener()) return driver elif browser == "firefox": options = webdriver.FirefoxOptions() if headless_mode is True: options.headless = True driver = EventFiringWebDriver( webdriver.Firefox( executable_path=GeckoDriverManager().install(), options=options), WebDriverListener()) return driver elif browser == "edge": options = EdgeOptions() options.use_chromium = True if headless_mode is True: options.headless = True driver_path = EdgeChromiumDriverManager().install() driver = EventFiringWebDriver( Edge(executable_path=driver_path, options=options), WebDriverListener()) return driver raise Exception("Provide valid driver name")
def init_browser(): global browser if "chrome_type" in config and config['chrome_type'] == "msedge": chrome_options = EdgeOptions() chrome_options.use_chromium = True else: chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--ignore-certificate-errors') chrome_options.add_argument('--ignore-ssl-errors') chrome_options.add_argument('--use-fake-ui-for-media-stream') chrome_options.add_experimental_option( 'prefs', { 'credentials_enable_service': False, 'profile.default_content_setting_values.media_stream_mic': 1, 'profile.default_content_setting_values.media_stream_camera': 1, 'profile.default_content_setting_values.geolocation': 1, 'profile.default_content_setting_values.notifications': 1, 'profile': { 'password_manager_enabled': False } }) chrome_options.add_argument('--no-sandbox') chrome_options.add_experimental_option('excludeSwitches', ['enable-automation']) if 'headless' in config and config['headless']: chrome_options.add_argument('--headless') print("Enabled headless mode") if 'mute_audio' in config and config['mute_audio']: chrome_options.add_argument("--mute-audio") if 'chrome_type' in config: if config['chrome_type'] == "chromium": browser = webdriver.Chrome( ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install(), options=chrome_options) elif config['chrome_type'] == "msedge": browser = Edge(EdgeChromiumDriverManager().install(), options=chrome_options) else: browser = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options) else: browser = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options) # make the window a minimum width to show the meetings menu window_size = browser.get_window_size() if window_size['width'] < 1200: print("Resized window width") browser.set_window_size(1200, window_size['height']) if window_size['height'] < 850: print("Resized window height") browser.set_window_size(window_size['width'], 850)
def edge(): if EdgeConfig.command_executor != "": return webdriver.Remote( command_executor=EdgeConfig.command_executor, desired_capabilities=DesiredCapabilities.EDGE.copy()) return webdriver.Edge( executable_path=EdgeChromiumDriverManager().install())
def init_driver(browser): if browser == 'chrome': chrome_options = webdriver.ChromeOptions() chrome_options.add_experimental_option("excludeSwitches", ["enable-automation", "load-extension"]) chrome_options.add_experimental_option( 'prefs', { 'credentials_enable_service': False, 'profile': { 'password_manager_enabled': False } }) driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options) elif browser == 'chromeheadless': chrome_options = webdriver.ChromeOptions() chrome_options.headless = True driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options) elif browser == 'firefox': driver = webdriver.Firefox(executable_path=GeckoDriverManager().install()) elif browser == 'edge': driver = webdriver.Edge(EdgeChromiumDriverManager().install()) else: raise Exception(f'{browser} is not a supported browser') driver.get(UI_HOST[constants.ENV]['host']) driver.maximize_window() driver.implicitly_wait(constants.TIMEOUT) return driver
def test_setup(request): from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from webdriver_manager.firefox import GeckoDriverManager from webdriver_manager.microsoft import EdgeChromiumDriverManager options = webdriver.ChromeOptions() browser = request.config.getoption('--browser') if browser == 'chrome': driver = webdriver.Chrome(ChromeDriverManager().install(), chrome_options=options) elif browser == 'firefox': driver = webdriver.Firefox(executable_path=GeckoDriverManager().install()) elif browser == 'edge': driver = webdriver.Edge(EdgeChromiumDriverManager().install()) else: print("This browser is not supported") driver = webdriver.Chrome(ChromeDriverManager().install()) driver.implicitly_wait(10) driver.maximize_window() request.cls.driver = driver yield driver.close() driver.quit() print("Test Completed")
def get_webdriver(): """Get whatever webdriver is availiable in the system. webdriver_manager and selenium are currently being used for this. Supported browsers:[Firefox, Chrome, Opera, Microsoft Edge, Internet Expolorer] Returns: a webdriver that can be used for scraping. Returns None if we don't find a supported webdriver. """ try: driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) except Exception: try: driver = webdriver.Chrome(ChromeDriverManager().install()) except Exception: try: driver = webdriver.Ie(IEDriverManager().install()) except Exception: try: driver = webdriver.Opera( executable_path=OperaDriverManager().install()) except Exception: try: driver = webdriver.Edge( EdgeChromiumDriverManager().install()) except Exception: driver = None logging.error( "Your browser is not supported. Must have one of the following installed to scrape: [Firefox, Chrome, Opera, Microsoft Edge, Internet Expolorer]" ) return driver
def setUp(self): print("Run Start at:- " + str(datetime.datetime.now())) configParser = ConfigParser() configParser.read('../../config/configuration_file.ini') default_brower = configParser.get('setting', 'default_browser') print(type(default_brower)) print(default_brower.casefold()) # casefold() string method is used to implement caseless string matching. i.e ignore cases when comparing. if default_brower.casefold() == "chrome": self.driver = webdriver.Chrome(ChromeDriverManager().install()) elif default_brower.casefold() == "firefox": self.driver = webdriver.Firefox(executable_path=GeckoDriverManager().install()) elif default_brower.casefold() == "edge": self.driver = webdriver.Edge(EdgeChromiumDriverManager().install()) elif default_brower.casefold() == "ie": self.driver = webdriver.Ie(IEDriverManager().install()) else: print("Browser is not mentioned properly") self.driver.maximize_window() sleep(5) configParser.read( '../../config/configuration_file.ini') # Reading data from test.ini file from Utility directory print(configParser.get('files', 'url_path')) self.driver.get(configParser.get('files', 'url_path'))
def get_driver(browser): """Get the webdriver specified in configuration""" # Browser name aliases chrome = ('chrome', 'google', 'google chrome', 'googlechrome', 'google-chrome', 'google_chrome') firefox = ('firefox', 'ff', 'mozilla', 'gecko', 'geckodriver', 'fire fox', 'fire_fox', 'fire-fox') opera = ('opera', 'opera gx', 'operagx', 'opera_gx', 'opera-gx') explorer = ('explorer', 'ie', 'internet explorer', 'internet-explorer', 'internet_explorer') edge = ('edge', 'microsoft edge', 'microsoft_edge', 'microsoft-edge') # Download browser binaries according to settings.json if browser.lower() in chrome: return webdriver.Chrome(ChromeDriverManager().install()) elif browser.lower() in firefox: return webdriver.Firefox( executable_path=GeckoDriverManager().install()) elif browser.lower() in opera: return webdriver.Opera(OperaDriverManager().install()) elif browser.lower() in explorer: return webdriver.Ie(IEDriverManager().install()) elif browser.lower() in edge: return webdriver.Edge( executable_path=EdgeChromiumDriverManager().install()) else: raise RuntimeError('Browser not found {}'.format(browser.lower()))
def sizeTester(browser_name): if browser_name == "CHROME": driver = webdriver.Chrome(ChromeDriverManager().install()) elif browser_name == "FIREFOX": driver = webdriver.Firefox(executable_path=GeckoDriverManager()) elif browser_name == "EDGE": driver = webdriver.Edge(EdgeChromiumDriverManager().install()) else: return False driver.get(INPUT_URL) screen_height_sizes = driver.get_window_size()["height"] for size in SCREEN_WIDTH_SIZES: driver.set_window_size(size, screen_height_sizes) driver.execute_script("window.scrollTo(0,0)") time.sleep(1) page_scroll_size = driver.execute_script("return document.body.scrollHeight") scroll_count = ceil(page_scroll_size / screen_height_sizes) for scroll in range(scroll_count + 1): driver.execute_script( f"window.scrollTo(0, {(scroll) * screen_height_sizes})" ) driver.save_screenshot(f"screenshots/{browser_name}_{size}x{scroll}.png") time.sleep(1) driver.quit()
def _create_selenium_driver(browser, headless=False): if browser == 'chrome-mac': options = webdriver.ChromeOptions() if headless: options.add_argument("--headless") options.add_argument('window-size=1920,1080') return webdriver.Chrome( ChromeDriverManager(log_level=logging.ERROR).install(), options=options) elif browser == 'firefox-mac': options = webdriver.FirefoxOptions() if headless: options.add_argument("--headless") options.add_argument('window-size=1920,1080') return webdriver.Firefox(executable_path=GeckoDriverManager( log_level=logging.ERROR).install(), options=options) elif browser == 'safari': return webdriver.Safari(executable_path='/usr/bin/safaridriver') elif browser == 'ie11': return webdriver.Ie( IEDriverManager(log_level=logging.ERROR).install()) elif browser == 'edge': return webdriver.Edge( EdgeChromiumDriverManager(log_level=logging.ERROR).install())
def get_driver(request): browser = os.environ["BROWSER"] if browser == browsers.CHROME: driver = webdriver.Chrome(ChromeDriverManager().install()) if 'THROUGHPUT' in os.environ.copy(): driver.set_network_conditions( offline=False, latency=5, throughput=int(os.environ['THROUGHPUT']) * 1024, ) elif browser == browsers.FIREFOX: driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) elif browser == browsers.IE: driver = webdriver.Ie(IEDriverManager().install()) elif browser == browsers.EDGE: driver = webdriver.Edge(EdgeChromiumDriverManager().install()) elif browser == browsers.SAFARI: driver = webdriver.Safari() driver.maximize_window() request.cls.driver = driver yield driver.close()
def getWebDriverInstance(self): """ Get WebDriver Instance based on the browser configuration Returns: 'WebDriver Instance' """ if self.browser == "iexplorer": # Set ie driver driver = webdriver.Ie(IEDriverManager().install()) elif self.browser == "firefox": driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) elif self.browser == "edge": driver = webdriver.Firefox( executable_path=EdgeChromiumDriverManager().install()) elif self.browser == "chrome": # Set chrome driver driver = webdriver.Chrome(ChromeDriverManager().install()) driver.set_window_size(1440, 900) else: driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) # Setting Driver Implicit Time out for An Element driver.implicitly_wait(3) # Maximize the window driver.maximize_window() # Loading browser with App URL return driver
def _init_driver(self): """ Initialize the correct web driver based on the users requested browser :return: None """ if self.browser.lower() in VALID_CHROME_STRINGS: if self.is_ci_build: self.options = self._build_ci_options_chrome() self.driver = webdriver.Chrome(ChromeDriverManager().install(), options=self.options) elif self.browser.lower() in VALID_CHROMIUM_STRINGS: self.driver = webdriver.Chrome( ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install()) elif self.browser.lower() in VALID_EDGE_STRINGS: self.driver = webdriver.Edge(EdgeChromiumDriverManager().install()) elif self.browser.lower() in VALID_FIREFOX_STRINGS: self.driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) elif self.browser.lower() in VALID_OPERA_STRINGS: self.driver = webdriver.Opera( executable_path=OperaDriverManager().install()) elif self.browser.lower() in VALID_INTERNET_EXPLORER_STRINGS: self.driver = webdriver.Ie(IEDriverManager().install()) else: raise ValueError("No matching browser found") # Maximize the browser self.driver.maximize_window()
def edge(headless=True): options = EdgeOptions() options.use_chromium = True options.headless = headless edge_driver = EdgeChromiumDriverManager().install() driver = Edge(edge_driver, options=options) return driver
def setup(browser): if browser == 'chrome': driver = webdriver.Chrome() print("Launching Chrome Browser") driver.implicitly_wait(5) driver.maximize_window() elif browser == 'firefox': driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) # driver = webdriver.Firefox() print("Launching Firefox Browser") elif browser == 'opera': driver = webdriver.Opera( executable_path=OperaDriverManager().install()) # driver = webdriver.Firefox() print("Launching Opera Browser") elif browser == 'edge': driver = webdriver.Edge(EdgeChromiumDriverManager().install()) # driver = webdriver.Firefox() print("Launching Edge Browser") elif browser == 'ie': driver = webdriver.Ie(IEDriverManager().install()) # driver = webdriver.Firefox() print("Launching IE Browser") else: driver = webdriver.Chrome() print("Launching Chrome Browser") driver.implicitly_wait(5) driver.maximize_window() return driver
def driver(config, request): # logger.info("Running setup method for the Test Case .......") # initialize the chromedriver instance if config['browser'] == 'Firefox': browser = selenium.webdriver.Firefox(executable_path=GeckoDriverManager().install()) elif config['browser'] == 'Chrome': browser = selenium.webdriver.Chrome(executable_path=ChromeDriverManager().install()) elif config['browser'] == 'Edge': browser = selenium.webdriver.Edge(EdgeChromiumDriverManager().install()) elif config['browser'] == 'Headless Chrome': chrome_options = selenium.webdriver.ChromeOptions() chrome_options.add_argument('headless') browser = selenium.webdriver.Chrome(options=chrome_options, executable_path=ChromeDriverManager().install()) else: raise Exception(f'Browser "{config["browser"]}" is not supported') request.cls.driver = browser # add the implicit wait browser.implicitly_wait(int(config['implicit_wait'])) # maximize the browser window browser.maximize_window() # return the web driver instance for the setup yield browser # logger.info("Running teardown method for the Test Case .......") # quit the driver for the cleanup if browser is not None: browser.quit()
def setup(browser): if browser == 'ie': driver = webdriver.Ie( executable_path=IEDriverManager().install()) # No maxmize need driver.implicitly_wait(10) print("Lunching IE browser") elif browser == 'firefox': driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) #No maxmize need driver.implicitly_wait(10) print("Lunching Firefox browser") elif browser == 'edge': driver = webdriver.Edge( executable_path=EdgeChromiumDriverManager().install()) driver.maximize_window() driver.implicitly_wait(10) print("Lunching Edge browser") else: driver = webdriver.Chrome( executable_path=ChromeDriverManager().install()) driver.maximize_window() driver.implicitly_wait(10) print("Lunching Chrome browser") yield driver #This is equal to return driver print("---This return driver and closing it---") driver.quit()
def browser(request): browser = request.config.getoption("--browser") if browser.lower() == 'chrome': driver = webdriver.Chrome(ChromeDriverManager().install()) elif browser.lower() == 'firefox': driver = webdriver.Firefox(executable_path=GeckoDriverManager( cache_valid_range=0).install()) elif browser.lower() == 'internet explorer': driver = webdriver.Ie(IEDriverManager().install()) elif browser.lower() == 'edge': driver = webdriver.Edge(EdgeChromiumDriverManager().install()) elif browser.lower() == 'opera': driver = webdriver.Opera( executable_path=OperaDriverManager().install()) else: print("Browser Error. Please select a correct browser type") sys.exit(0) driver.implicitly_wait(10) driver.maximize_window() def kill_browser(): print(">>> conftest fixture teardown: chrome (scope:module)") driver.save_screenshot("report/last_screenshot.png") print("closing") driver.close() print("<<< conftest fixture teardown: chrome (scope:module)") request.addfinalizer(kill_browser) return driver
def __init__(self): edge_capabilities = DesiredCapabilities.EDGE.copy() edge_capabilities["acceptSslCerts"] = True edge_capabilities["requireWindowFocus"] = True super().__init__(name="Microsoft Edge", webdriver_class=webdriver.Edge, webdriver_manager=EdgeChromiumDriverManager(), desired_capabilities=edge_capabilities)
def getEdgeDriver(self): try: return webdriver.Edge( EdgeChromiumDriverManager(path=self.path).install()) except ValueError: raise Exceptions.BrowserNotFound("Edge") except: raise Exceptions.BrowserNotLoadable
def get_local_edge(): try: driver = webdriver.Edge( executable_path=EdgeChromiumDriverManager().install()) except BaseException: driver = webdriver.Edge( os.path.join(_HOME_PATH, "drivers", "edge", "msedgedriver.exe")) return driver
def test_edge_manager_with_wrong_version(): with pytest.raises(ValueError) as ex: driver_path = EdgeChromiumDriverManager("0.2", os_type='win64').install() driver = webdriver.Edge(executable_path=driver_path) driver.quit() assert "There is no such driver by url "\ "https://msedgedriver.azureedge.net/0.2/edgedriver_win64.zip" in \ ex.value.args[0]
def get_driver_path(browser): driver_path = "" if browser == "chrome": driver_path = ChromeDriverManager().install() elif browser == "firefox": driver_path = GeckoDriverManager().install() elif browser == "edge": driver_path = EdgeChromiumDriverManager().install() else: print("Incorrect Browser") return driver_path
def login(self, username, password): if not self.varRadio.get(): self.errorValue.set("Select browser.") elif not self.userValue.get(): self.errorValue.set("Username can not be empty.") elif not self.passValue.get(): self.errorValue.set("Password can not be empty.") else: self.errorValue.set(" ") if self.varRadio.get() == 1: self.driver = webdriver.Chrome(ChromeDriverManager().install()) elif self.varRadio.get() == 2: self.driver = webdriver.Edge(EdgeChromiumDriverManager().install()) self.driver.get('https://www.instagram.com/') time.sleep(5) # Username, Password and Login button self.driver.find_element_by_xpath('//input[@name = "username"]').send_keys(username) self.driver.find_element_by_xpath('//input[@name = "password"]').send_keys(password) self.driver.find_element_by_xpath('//button[@type = "submit"]').click() time.sleep(5) try: if self.driver.find_element_by_id('slfErrorAlert'): self.errorValue.set("Your email/password was incorrect.") self.driver.find_element_by_xpath('//input[@name = "username"]').send_keys(Keys.CONTROL + u'\ue003') self.driver.find_element_by_xpath('//input[@name = "password"]').send_keys(Keys.CONTROL + u'\ue003') except: self.errorValue.set(" ") self.selectBrowser1.destroy() self.selectBrowser2.destroy() self.lableUsername.destroy() self.lablePassword.destroy() self.entryUsername.destroy() self.entryPassword.destroy() self.buttonLogin.destroy() self.lableOTP = tk.Label(self, text="OTP : ", background="grey20", foreground="white") self.lableOTP.place(relx=0.2, rely=0.3) self.otpValue = tk.StringVar() self.entryOTP = tk.Entry(self, textvariable=self.otpValue) self.entryOTP.place(relx=0.3, rely=0.3) self.buttonSubmit = tk.Button(self, text="Submit", relief="raised", bg="grey60", command=self.otp) self.buttonSubmit.place(relx=0.3, rely=0.4) self.noOtp = tk.Button(self, text="Don't have 2-step verification enabled?", bd=0, bg="grey20", fg="pink", command=self.noOTP) self.noOtp.place(relx=0.29, rely=0.5)
def init_driver(request): if request.param == "chrome": web_driver = webdriver.Chrome(ChromeDriverManager().install()) elif request.param == "firefox": web_driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) else: web_driver = webdriver.Edge(EdgeChromiumDriverManager().install()) request.cls.driver = web_driver yield web_driver.close()