Beispiel #1
0
 def launch_browser(self, browser_name, url):
     global driver
     try:
         if browser_name == "chrome":
             chromeoptions = ChromeOptions()
             chromeoptions.add_argument("start-maximized")
             chromeoptions.add_argument("disable-notifications")
             chromeoptions.add_argument("--ignore-certificate-errors")
             chromeoptions.add_argument("--disable-infobars")
             chromeoptions.add_argument("--disable-extensions")
             driver = webdriver.Chrome(
                 executable_path="./drivers/chromedriver.exe",
                 options=chromeoptions)
             log.info("chrome browser launch successfully")
         elif browser_name == "firefox":
             firefoxoptions = FirefoxOptions()
             firefoxoptions.add_argument("start-maximize")
             driver = webdriver.Firefox(
                 executable_path="./drivers/geckodriver.exe",
                 options=firefoxoptions)
             log.info("firefox browser launch successfully")
         elif browser_name == "ie":
             ieoptions = IeOptions()
             ieoptions.add_argument("start-maximize")
             driver = webdriver.Ie(
                 executable_path="./drivers/IEDriverServer.exe",
                 options=ieoptions)
             log.info("ie browser launch successfully")
         else:
             log.error("invalid browser name")
     except WebDriverException as e:
         log.error("exception ", e)
     driver.implicitly_wait(10)
     driver.get(url)
Beispiel #2
0
def IEdriverbrowser():
    # 正常启动
    # 规避检测
    option = IeOptions()
    option.add_additional_option('excludeSwitches', ['enable-automation'])
    driver = webdriver.Ie(options=option)
    return driver
Beispiel #3
0
def IEdrivernobrowser():
    # 无头启动
    IE_options = Options()
    IE_options.add_argument("--headless")
    IE_options.add_argument("--disable-gpu")
    # 规避检测
    option = IeOptions()
    option.add_additional_option('excludeSwitches', ['enable-automation'])
    driver = webdriver.Ie(ie_options=IE_options, options=option)
    return driver
Beispiel #4
0
    def test_passing_options(self):

        ie_options = IeOptions()
        ie_options.ensure_clean_session = True
        ie_options.ignore_protected_mode_settings = True

        self.driver = get_webdriver_for("ie", options=ie_options)
        self.assertIsNotNone(self.driver)
        self.assertTrue(ie_options.ensure_clean_session)
        self.assertTrue(ie_options.ignore_protected_mode_settings)
def driver(request):
    browser = request.config.getoption("--browser")
    if browser == 'firefox':
        options = FirefoxOptions()
        # options.add_argument("--headless")
        capabilities = options.to_capabilities()
        wd = webdriver.Firefox(desired_capabilities=capabilities)
        wd.maximize_window()
    elif browser == 'chrome':
        options = ChromeOptions()
        # options.add_argument("--headless")
        capabilities = options.to_capabilities()
        wd = webdriver.Chrome(desired_capabilities=capabilities)
        wd.fullscreen_window()
    elif browser == 'ie':
        options = IeOptions()
        # options.add_argument("--headless")
        capabilities = options.to_capabilities()
        wd = webdriver.Ie(desired_capabilities=capabilities)
        wd.fullscreen_window()
    else:
        print('Unsupported browser!')
        sys.exit(1)
    yield wd
    wd.quit()
Beispiel #6
0
def session_fixture(request):
    print('\nSession was started')

    browser = request.config.getoption("--browser")
    #
    if browser == 'chrome':
        print("chrome will be started")
        options = ChromeOptions()
        options.add_argument("--start-fullscreen")
        options.add_argument('--headless')
        App.wd = webdriver.Chrome(options=options)

    elif browser == 'firefox':
        print("firefox will be started")
        options = FirefoxOptions()
        options.add_argument("--start-fullscreen")
        options.add_argument('--headless')
        App.wd = webdriver.Firefox(options=options)
    else:
        print("ie will be started")
        options = IeOptions()
        options.add_argument("--start-fullscreen")
        options.add_argument('--headless')
        App.wd = webdriver.Ie(options=options)
    #
    # #return wd

    def session_fin():
        App.wd.quit()
        print('\nSesion was finished')

    #
    request.addfinalizer(session_fin)
Beispiel #7
0
def driver(request):
    browser = request.config.getoption('--browser')
    if browser == 'chrome':
        print('\n Chrome browser')
        options = ChromeOptions()
        options.add_argument('--start-maximized')
        #options.add_argument('--headless')
        wd = webdriver.Chrome(options=options)
        request.addfinalizer(wd.quit)
        return wd
    elif browser == 'firefox':
        print('\n FF browser')
        options = FirefoxOptions()
        options.add_argument('--start-maximized')
        options.add_argument('--headless')
        wd = webdriver.Firefox(options=options)
        wd.maximize_window()
        request.addfinalizer(wd.quit)
        return wd
    else:
        print('\n IE browser')
        options = IeOptions()
        # options.add_argument('headless_ie_selenium')
        wd = webdriver.Ie(options=options)
        wd.fullscreen_window()
        request.addfinalizer(wd.quit)
        return wd
        #yield wd
    wd.quit()
Beispiel #8
0
def browser(request, driver_path):

    # setup
    name = request.config.getoption("--browser")
    if name == "Chrome":
        options = ChromeOptions()
        options.add_argument("headless")
        options.add_argument("start-maximized")
        wd = Chrome(executable_path=driver_path+"chromedriver", options=options)
    elif name == "Firefox":
        options = FirefoxOptions()
        options.add_argument("headless")
        options.add_argument("start-maximized")
        wd = Firefox(executable_path=driver_path+"geckodriver", options=options)
    elif name == "Ie":
        options = IeOptions()
        options.add_argument("headless")
        options.add_argument("start-maximized")
        wd = Ie(options=options)
    else:
        print(f"Неизвестный тип браузера \"{name}\"")
        return None

    yield wd

    # teardown
    wd.quit()
Beispiel #9
0
def driver(request):
    browser = request.config.getoption("--browser")
    if browser == 'firefox':
        capabilities = webdriver.DesiredCapabilities.FIREFOX.copy()
        capabilities['timeouts'] = {'implicit': 3000, 'pageLoad': 3000, 'script': 3000}
        capabilities['loggingPrefs'] = {'browser': 'ALL', 'client': 'ALL', 'driver': 'ALL',
                                        'performance': 'ALL', 'server': 'ALL'}
        profile = webdriver.FirefoxProfile()
        profile.set_preference('app.update.auto', False)
        profile.set_preference('app.update.enabled', False)
        profile.accept_untrusted_certs = True
        wd = webdriver.Firefox(firefox_profile=profile, capabilities=capabilities)
        wd.maximize_window()
    elif browser == 'chrome':
        capabilities = webdriver.DesiredCapabilities.CHROME.copy()
        capabilities['acceptSslCerts'] = True
        capabilities['acceptInsecureCerts'] = True
        wd = webdriver.Chrome(desired_capabilities=capabilities)
        wd.fullscreen_window()
    elif browser == 'ie':
        options = IeOptions()
        options.add_argument("--start-fullscreen")
        options.add_argument('--headless')
        wd = webdriver.Ie(options=options)
    else:
        print('Unsupported browser!')
        sys.exit(1)
    yield wd
    wd.quit()
Beispiel #10
0
 def _build_capabilities(self, caps, browser_name):
     options = None
     if caps:
         _, value = caps.popitem()
         try:
             browser = value["browserName"]
         except Exception as e:
             logger.console("No browser name capability was set")
             raise e
         if browser in self.FIREFOX_NAMES:
             options = FirefoxOptions()
         elif browser in self.CHROME_NAMES:
             options = ChromeOptions()
         elif browser in self.IE_NAMES:
             options = IeOptions()
         elif browser == "edge":
             options = Options()
         elif browser == "safari":
             options = DesiredCapabilities.SAFARI.copy()
         for k, v in value.items():
             options.set_capability(k, v)
     else:
         if browser_name in self.FIREFOX_NAMES:
             caps = DesiredCapabilities.FIREFOX.copy()
             options = FirefoxOptions()
         elif browser_name in self.CHROME_NAMES:
             caps = DesiredCapabilities.CHROME.copy()
             options = ChromeOptions()
         elif browser_name in self.IE_NAMES:
             caps = DesiredCapabilities.INTERNETEXPLORER.copy()
             options = IeOptions()
         elif browser_name == "edge":
             caps = DesiredCapabilities.EDGE.copy()
             options = Options()
         elif browser_name == "safari":
             options = DesiredCapabilities.SAFARI.copy()
         for k, v in caps.items():
             options.set_capability(k, v)
     return options
Beispiel #11
0
    def create_options(self):
        options = IeOptions()

        options.add_argument("--disable-popup-blocking")
        options.add_argument("--start-fullscreen")

        if super()._use_proxy:
            pass

        return options
Beispiel #12
0
 def setUp(self):
     WebDriverFactory().setup_iedriver()
     options = IeOptions()
     options.ignore_protected_mode_settings = True
     options.ensure_clean_session = True
     options.require_window_focus = True
     options.ignore_zoom_level = True
     self.driver1 = webdriver.Ie(options=options)
     self.driver2 = webdriver.Ie(options=options)
     self.driver1.maximize_window()
     self.wait1 = WebDriverWait(self.driver1, 5)
     self.wait2 = WebDriverWait(self.driver2, 5)
Beispiel #13
0
def browser_driver(request, browser):
    """Фикстура для запуска браузеров {Chrome, Firefox, IE} в полноэкранном режиме
    с опцией headless"""
    web = None
    if browser == "Chrome":
        options = ChromeOptions()
        # options.add_argument("--start-fullscreen")
        options.add_argument("--headless")
        web = webdriver.Chrome(options=options)
    if browser == "Firefox":
        options = FirefoxOptions()
        options.add_argument("--headless")
        web = webdriver.Firefox(options=options)
    if browser == "IE":
        options = IeOptions()
        options.add_argument("--headless")
        web = webdriver.Ie(options=options)
    web.maximize_window()
    request.addfinalizer(web.quit)
    return web
Beispiel #14
0
def browser(request):
    r = request.config.getoption("--browser")
    browsers = {
        "firefox": webdriver.Firefox,
        "chrome": webdriver.Chrome,
        "ie": webdriver.Ie
    }
    options = {
        "firefox": FirefoxOptions(),
        "chrome": ChromeOptions(),
        "ie": IeOptions()
    }
    if r in options:
        option = options[r]
    option.headless = True
    if r in browsers:
        br = browsers[r](options=option)
    else:
        raise Exception("Unknown browser requested")
    yield br
    br.quit()
Beispiel #15
0
def driver(request):
    browser = request.config.getoption("--browser")
    try:
        timeout_str = request.config.getoption("--timeouts")
        timeout = int(timeout_str)
    except ValueError:
        print("Bad --timeouts value: ".join(timeout_str))
        timeout = 10000

    if browser == 'firefox':
        capabilities = webdriver.DesiredCapabilities.FIREFOX.copy()
        capabilities['timeouts'] = {
            'implicit': timeout,
            'pageLoad': timeout,
            'script': timeout
        }
        capabilities['loggingPrefs'] = {
            'browser': 'ALL',
            'client': 'ALL',
            'driver': 'ALL',
            'performance': 'ALL',
            'server': 'ALL'
        }
        profile = webdriver.FirefoxProfile()
        profile.set_preference('app.update.auto', False)
        profile.set_preference('app.update.enabled', False)
        profile.accept_untrusted_certs = True
        wd = webdriver.Firefox(firefox_profile=profile,
                               capabilities=capabilities)
        wd.maximize_window()
    elif browser == 'chrome':
        capabilities = webdriver.DesiredCapabilities.CHROME.copy()
        capabilities['timeouts'] = {
            'implicit': timeout,
            'pageLoad': timeout,
            'script': timeout
        }
        capabilities['acceptSslCerts'] = True
        capabilities['acceptInsecureCerts'] = True
        wd = webdriver.Chrome(desired_capabilities=capabilities)
        wd.maximize_window()
    elif browser == 'ie':
        options = IeOptions()
        options.add_argument("--start-fullscreen")
        options.add_argument('--headless')
        wd = webdriver.Ie(options=options)
    else:
        print('Unsupported browser!')
        sys.exit(1)

    log_folder = request.config.getoption("--logfolder")
    logger = get_logger(log_folder, "webDriverLog")
    logged_driver = EventFiringWebDriver(wd, WdEventListener(logger))

    yield logged_driver

    if browser == 'chrome':
        browser_logger = get_logger(log_folder, "chromeLog", "%(message)s")
        for l in logged_driver.get_log("browser"):
            browser_logger.info(l)
    logged_driver.quit()
Beispiel #16
0
## Looping over env variables
import os
for k, v in os.environ.items():
    print("%s = %s" % (k, v))

## Problems with speed using Internet Explorer
from selenium.webdriver import IeOptions
ieo = IeOptions()
ieo.require_window_focus = True
driver = webdriver.Ie("G:\z-BPA\IEDriver\IEDriverServer.exe", options=ieo)
Beispiel #17
0
 def launch(self, desired_capabilities=None, options=None):
     from selenium.webdriver import DesiredCapabilities
     self._set_config()
     if self._automation_browser == CHROME and self._automation_local:
         self.setup_chromedriver()
         chrome_capabilities = DesiredCapabilities.CHROME.copy()
         if options is not None:
             chrome_capabilities.update(options.to_capabilities())
             if desired_capabilities is not None:
                 chrome_capabilities.update(desired_capabilities)
         else:
             if desired_capabilities is not None:
                 chrome_capabilities.update(desired_capabilities)
         return webdriver.Chrome(desired_capabilities=chrome_capabilities)
     if self._automation_browser == GECKO and self._automation_local:
         self.setup_geckodriver()
         firefox_capabilities = DesiredCapabilities.FIREFOX.copy()
         if options is not None:
             firefox_capabilities.update(options.to_capabilities())
             if desired_capabilities is not None:
                 firefox_capabilities.update(desired_capabilities)
         else:
             if desired_capabilities is not None:
                 firefox_capabilities.update(desired_capabilities)
         return webdriver.Firefox(desired_capabilities=firefox_capabilities,
                                  service_log_path=os.path.join(ROOT_DIR, LOG_DIR, f'{GECKODRIVER}{LOG}'))
     if self._automation_browser == EDGE:
         self.setup_edgedriver()
         from msedge.selenium_tools import Edge, EdgeOptions
         edge_capabilities = DesiredCapabilities.EDGE.copy()
         if options is not None:
             edge_capabilities.update(options.to_capabilities())
             if desired_capabilities is not None:
                 edge_capabilities.update(desired_capabilities)
         else:
             if desired_capabilities is not None:
                 edge_capabilities.update(desired_capabilities)
         from msedge.selenium_tools import Edge, EdgeOptions
         edge_options = EdgeOptions()
         edge_options.use_chromium = True
         edge_options.set_capability('platform', 'MAC' if OS_NAME == 'MAC' else 'WINDOWS')
         edge_capabilities.update(edge_options.to_capabilities())
         return Edge(desired_capabilities=edge_options.to_capabilities())
     if self._automation_browser == IE:
         if OS_NAME == 'MAC':
             raise NotImplementedError('Cannot launch IE browser on Mac.')
         self.setup_iedriver()
         ie_capabilities = DesiredCapabilities.INTERNETEXPLORER.copy()
         if options is not None:
             ie_capabilities.update(options.to_capabilities())
             if desired_capabilities is not None:
                 ie_capabilities.update(desired_capabilities)
         else:
             if desired_capabilities is not None:
                 ie_capabilities.update(desired_capabilities)
         from selenium.webdriver import IeOptions
         ie_options = IeOptions()
         ie_options.ignore_protected_mode_settings = True
         ie_options.ensure_clean_session = True
         ie_options.require_window_focus = True
         ie_options.ignore_zoom_level = True
         ie_capabilities.update(ie_options.to_capabilities())
         return webdriver.Ie(desired_capabilities=ie_capabilities)
     if self._automation_browser == SAFARI:
         if OS_NAME == 'WIN':
             raise NotImplementedError('Cannot launch safari browser on Windows.')
         return webdriver.Safari(desired_capabilities=desired_capabilities)
     remote_capabilities = DesiredCapabilities.CHROME.copy() if self._automation_browser == CHROME \
         else DesiredCapabilities.FIREFOX.copy()
     if options is not None:
         remote_capabilities.update(options.to_capabilities())
         if desired_capabilities is not None:
             remote_capabilities.update(desired_capabilities)
     else:
         if desired_capabilities is not None:
             remote_capabilities.update(desired_capabilities)
     return webdriver.Remote(command_executor=self._automation_url, desired_capabilities=remote_capabilities)
Beispiel #18
0
 def start(self):
     from selenium.webdriver import Ie, IeOptions
     options = IeOptions()
     api = Ie(options=options)
Beispiel #19
0
 def generate_download_folder_capability_by_ie(self):
     options = IeOptions()
     options.add_experimental_option("prefs", self._prefs)
     return options