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()
Exemple #3
0
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()
Exemple #4
0
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()
Exemple #6
0
    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
Exemple #10
0
 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
Exemple #15
0
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
Exemple #16
0
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()
Exemple #17
0
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()))
Exemple #18
0
    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
Exemple #21
0
 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())
Exemple #22
0
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
Exemple #23
0
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)
Exemple #25
0
 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)
Exemple #26
0
 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)
Exemple #28
0
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()
Exemple #29
0
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
Exemple #30
0
 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())