def get_driver(): driver = None operation_system = platform.system() arch = platform.architecture() if BROWSER == 'chrome': options = Options() if os.getenv('HEADLESS', 'false').lower() == 'true': options.headless = True options.add_argument("--window-size=1920,1080") options.add_experimental_option('w3c', False) driver = webdriver.Chrome(ChromeDriverManager().install()) if BROWSER == 'chromium': driver = webdriver.Chrome(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install()) if BROWSER == 'opera': driver = webdriver.Opera(executable_path=OperaDriverManager().install()) elif BROWSER == 'firefox': if operation_system == "Darwin" or "Linux": driver = webdriver.Firefox(executable_path=GeckoDriverManager().install()) else: if arch[0] == "32bit": driver = webdriver.Firefox(executable_path=GeckoDriverManager(os_type="win32").install()) elif arch[0] == "64bit": driver = webdriver.Firefox(executable_path=GeckoDriverManager(os_type="win64").install()) elif BROWSER == 'safari': driver = webdriver.Safari(executable_path='/usr/bin/safaridriver') elif BROWSER == 'ie': if arch[0] == "32bit": driver = webdriver.Ie(executable_path=IEDriverManager(os_type="Win32").install()) elif arch[0] == "64bit": driver = webdriver.Ie(executable_path=IEDriverManager(os_type="x64").install()) return Driver.add_driver_settings(driver)
def test_ie_manager_with_selenium(version, use_cache): delete_old_install() if use_cache: IEDriverManager(version).install() driver_path = IEDriverManager(version).install() dr = webdriver.Ie(driver_path) dr.quit()
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 create_driver(browser): # ie if browser == BrowserType.IE.value: driver = webdriver.Ie(IEDriverManager().install()) # driver = webdriver.Ie(executable_path=r"./drivers/IEDriverServer.exe") # chrome elif browser == BrowserType.Chrome.value: chrome_options = webdriver.ChromeOptions() # PROXY = '113.121.77.137:9999' # # PROXY_AUTH = '{userid}:{password}' # chrome_options.add_argument('--proxy-server=http://%s' % get_proxy_ip()) # option.add_argument('--proxy-auth=%s' % PROXY_AUTH) # 取消显示DevTools listening on ws://127.0.0.1...提示 chrome_options.add_experimental_option( 'excludeSwitches', ['enable-logging']) # 是否加载代理 if PROXY_ON == 'on': chrome_options.add_extension("proxy.zip") # driver = webdriver.Chrome( # executable_path=r"./drivers/chromedriver.exe", # chrome_options=chrome_options) driver = webdriver.Chrome( ChromeDriverManager().install(), chrome_options=chrome_options) return driver
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 test_setup1(self): global driver # Automatically download latest webdriver and save in cache # https://staging.scrive.com/t/9221714692410699950/7348c782641060a9 # ------------comment below line if you want to run test headless mode # -------------and uncomment lines 36,37,38 ------------------------- # driver = webdriver.Firefox(executable_path=GeckoDriverManager().install()) driver = webdriver.Ie(IEDriverManager().install()) # ------------ End comment below line if you want to run test headless mode------------------------- # ------------comment these 3 lines if you want to run test in browser and uncommet 29--------------- # options = FirefoxOptions() # options.add_argument("--headless") # driver = webdriver.Firefox(options=options) # ------------ End comment these 3 lines if you want to run test in browser------------------------- driver.implicitly_wait(2) driver.get( "https://staging.scrive.com/t/9221714692410699950/7348c782641060a9" ) driver.maximize_window() yield driver.close() driver.quit() print("test completed")
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 set_browser(self, mode): """Mode is set to True, runs rests in silent mode: no UI while testing""" if self.browser.lower() == "firefox": options = FirefoxOptions() options.headless = mode return webdriver.Firefox( executable_path=GeckoDriverManager().install(), options=options) elif self.browser.lower() == "chrome": options = Options() options.headless = mode # options.add_argument('--disable-gpu') # options.add_argument("--no-sandbox") # options.add_argument("window-size=1400,2100") # Linux should be # activate return webdriver.Chrome(ChromeDriverManager().install(), options=options) elif self.browser.lower() == "ie": """ The IE driver does not support execution without an active, logged-in desktop session running. You'll need to take this up with the author of the solution you're using to achieve "headless" (scare quotes intentional) execution of IE. """ options = 'unsupported' return webdriver.Ie(IEDriverManager().install(), options=options) else: raise Exception("Selected browser not supported")
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 ie(): if IEConfig.command_executor != "" and ChromeConfig.command_executor[: 4] == "http": return webdriver.Remote(command_executor=IEConfig.command_executor, desired_capabilities=DesiredCapabilities. INTERNETEXPLORER.copy()) return webdriver.Ie(executable_path=IEDriverManager().install())
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 internet_explorer(): """ Return the latest instance of IE Web Driver object. :return: Latest IE webdriver instance """ return webdriver.Ie(IEDriverManager(DRIVER_VERSIONS.get('ie', 'latest')).install())
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 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 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 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 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 open_browser(self, driver): config = configparser.ConfigParser() # file_path = os.path.dirname(os.getcwd()) + '/config/config.ini' file_path = os.path.dirname(os.path.abspath('.')) + '/automation_framework_demo-master/config/config.ini' config.read(file_path) browser = config.get("browserType", "browserName") logger.info("You had select %s browser." % browser) url = config.get("testServer", "URL") logger.info("The test server url is: %s" % url) if browser == "Firefox": driver = webdriver.Firefox(executable_path=GeckoDriverManager().install()) logger.info("Starting firefox browser.") elif browser == "Chrome": driver = webdriver.Chrome(ChromeDriverManager().install()) logger.info("Starting Chrome browser.") elif browser == "IE": driver = webdriver.Ie(IEDriverManager().install()) logger.info("Starting IE browser.") driver.get(url) logger.info("Open url: %s" % url) driver.maximize_window() logger.info("Maximize the current window.") driver.implicitly_wait(60) logger.info("Set implicitly wait 60 seconds.") return driver
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 getWebDriverInstance(self): """ Get WebDriver Instance based on the browser configuration Returns: 'WebDriver Instance' """ baseURL = "http://courses.letskodeit.com/" 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 == "chrome": # Set chrome driver driver = webdriver.Chrome(ChromeDriverManager().install()) else: driver = webdriver.Firefox() # Setting Driver Implicit Time out for An Element driver.implicitly_wait(3) # Maximize the window driver.maximize_window() # Loading browser with App URL driver.get(baseURL) return driver
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 setUp(request): global driver browser = request.config.getoption("--browser") print(browser) if browser == 'chrome': print("Running test on chrome") driver = webdriver.Chrome( executable_path=ChromeDriverManager().install()) elif browser == 'firefox': print("Running test on firefox") driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) elif browser == 'IE': driver = webdriver.Ie(executable_path=IEDriverManager().install()) else: print("Running else case") driver = webdriver.Chrome( executable_path=ChromeDriverManager().install()) driver.maximize_window() driver.implicitly_wait(10) driver.get("https://letskodeit.teachable.com/p/practice") request.cls.driver = driver yield driver
def build_ie(version: str, browser_options: List[str], capabilities: dict, experimental_options: Optional[List[dict]], extension_paths: Optional[List[str]], local_path: Optional[str]) -> WebDriver: """ Build an IEDriver. Args: version: The desired version of IE. browser_options: The list of options/arguments to include. capabilities: The dict of capabilities. experimental_options: The list of experimental options to include. extension_paths: The list of extensions to add to the browser. local_path: The path to the driver binary. Examples: driver = WebDriverFactory().build_ie('latest', ['headless'], None) """ caps = build_capabilities(Browser.IE, capabilities) options = build_options(Browser.IE, browser_options, experimental_options, extension_paths) if local_path: return webdriver.Ie(executable_path=local_path, options=options, capabilities=caps) return webdriver.Ie( executable_path=IEDriverManager(version=version).install(), options=options, capabilities=caps)
def test_ie_manager_with_selenium(): driver_path = IEDriverManager().install() if os.name == 'nt': driver = webdriver.Ie(executable_path=driver_path) driver.get("http://automation-remarks.com") driver.quit() else: assert os.path.exists(driver_path)
def __init__(self): ie_capabilities = DesiredCapabilities.INTERNETEXPLORER.copy() ie_capabilities["acceptSslCerts"] = True ie_capabilities["requireWindowFocus"] = True super().__init__(name="Internet Explorer", webdriver_class=webdriver.Ie, webdriver_manager=IEDriverManager(), desired_capabilities=ie_capabilities)
def get_session(cls, driver_capabilities): from webdriver_manager.microsoft import IEDriverManager capabilities.pop('platform', "windows") driver_capabilities = {**cls.get_capabilities(), **capabilities} driver = webdriver.Ie(executable_path=IEDriverManager( version="3.9.0", os_type="win32").install(), capabilities=driver_capabilities) return driver
def get_Chromedriver_Path(self, browser): if browser.casefold() == 'chrome'.casefold(): driver_path = ChromeDriverManager().install() elif browser.casefold() == 'firefox'.casefold(): driver_path = GeckoDriverManager().install() elif browser.casefold() == 'ie'.casefold(): driver_path = IEDriverManager().install() return(driver_path)
def setup(request): driver = webdriver.Ie(IEDriverManager().install()) driver.get("https://watchdishtv.com/") driver.maximize_window() src = driver.page_source request.cls.driver = driver request.cls.src = src yield driver.quit()
def connect_ie_driver(headless): """Function to connect with ie driver """ #initialise chrome options options = IeOptions() #set headless option on driver options.headless = headless #initialise driver driver = webdriver.Ie(IEDriverManager().install(), options=options) return driver
def open_ie(self): from webdriver_manager.microsoft import IEDriverManager caps = DesiredCapabilities().INTERNETEXPLORER caps["pageLoadStrategy"] = "normal" # complete # caps["pageLoadStrategy"] = "eager" # interactive # caps["pageLoadStrategy"] = "none" self.driver = webdriver.Ie( desired_capabilities=caps, executable_path=IEDriverManager().localDependency())