def activate_hopscotch(driver): """ Allows you to use Hopscotch Tours with SeleniumBase http://linkedin.github.io/hopscotch/ """ hopscotch_css = constants.Hopscotch.MIN_CSS hopscotch_js = constants.Hopscotch.MIN_JS backdrop_style = style_sheet.hops_backdrop_style verify_script = ("""// Verify Hopscotch activated var hops = hopscotch.isActive; """) activate_bootstrap(driver) js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) js_utils.add_css_style(driver, backdrop_style) for x in range(4): js_utils.activate_jquery(driver) js_utils.add_css_link(driver, hopscotch_css) js_utils.add_js_link(driver, hopscotch_js) time.sleep(0.1) for x in range(int(settings.MINI_TIMEOUT * 2.0)): # Hopscotch needs a small amount of time to load & activate. try: driver.execute_script(verify_script) js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) time.sleep(0.05) return except Exception: time.sleep(0.15) raise_unable_to_load_jquery_exception(driver)
def activate_bootstrap(driver): """ Allows you to use Bootstrap Tours with SeleniumBase http://bootstraptour.com/ """ bootstrap_tour_css = constants.BootstrapTour.MIN_CSS bootstrap_tour_js = constants.BootstrapTour.MIN_JS verify_script = ("""// Verify Bootstrap Tour activated var tour2 = new Tour({ });""") backdrop_style = style_sheet.bt_backdrop_style js_utils.add_css_style(driver, backdrop_style) js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) for x in range(4): js_utils.activate_jquery(driver) js_utils.add_css_link(driver, bootstrap_tour_css) js_utils.add_js_link(driver, bootstrap_tour_js) time.sleep(0.1) for x in range(int(settings.MINI_TIMEOUT * 2.0)): # Bootstrap needs a small amount of time to load & activate. try: driver.execute_script(verify_script) time.sleep(0.05) return except Exception: time.sleep(0.15) raise_unable_to_load_jquery_exception(driver)
def activate_driverjs(driver): """ Allows you to use DriverJS Tours with SeleniumBase https://kamranahmed.info/driver.js/ """ backdrop_style = style_sheet.dt_backdrop_style driverjs_css = constants.DriverJS.MIN_CSS driverjs_js = constants.DriverJS.MIN_JS verify_script = ("""// Verify DriverJS activated var driverjs2 = Driver.name; """) activate_bootstrap(driver) js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) js_utils.add_css_style(driver, backdrop_style) for x in range(4): js_utils.activate_jquery(driver) js_utils.add_css_link(driver, driverjs_css) js_utils.add_js_link(driver, driverjs_js) time.sleep(0.1) for x in range(int(settings.MINI_TIMEOUT * 2.0)): # DriverJS needs a small amount of time to load & activate. try: driver.execute_script(verify_script) js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) time.sleep(0.05) return except Exception: time.sleep(0.15) js_utils.raise_unable_to_load_jquery_exception(driver)
def activate_shepherd(driver): """ Allows you to use Shepherd Tours with SeleniumBase http://github.hubspot.com/shepherd/docs/welcome/ """ shepherd_js = constants.Shepherd.MIN_JS sh_theme_arrows_css = constants.Shepherd.THEME_ARROWS_CSS sh_theme_arrows_fix_css = constants.Shepherd.THEME_ARR_FIX_CSS sh_theme_default_css = constants.Shepherd.THEME_DEFAULT_CSS sh_theme_dark_css = constants.Shepherd.THEME_DARK_CSS sh_theme_sq_css = constants.Shepherd.THEME_SQ_CSS sh_theme_sq_dark_css = constants.Shepherd.THEME_SQ_DK_CSS tether_js = constants.Tether.MIN_JS spinner_css = constants.Messenger.SPINNER_CSS sh_style = style_sheet.sh_style_test backdrop_style = style_sheet.sh_backdrop_style activate_bootstrap(driver) js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) js_utils.add_css_style(driver, backdrop_style) js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) for x in range(4): js_utils.add_css_link(driver, spinner_css) js_utils.add_css_link(driver, sh_theme_arrows_css) js_utils.add_css_link(driver, sh_theme_arrows_fix_css) js_utils.add_css_link(driver, sh_theme_default_css) js_utils.add_css_link(driver, sh_theme_dark_css) js_utils.add_css_link(driver, sh_theme_sq_css) js_utils.add_css_link(driver, sh_theme_sq_dark_css) js_utils.add_js_link(driver, tether_js) js_utils.add_js_link(driver, shepherd_js) time.sleep(0.1) for x in range(int(settings.MINI_TIMEOUT * 2.0)): # Shepherd needs a small amount of time to load & activate. try: driver.execute_script(sh_style) # Verify Shepherd has loaded js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) driver.execute_script(sh_style) # Need it twice for ordering js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) time.sleep(0.05) return except Exception: time.sleep(0.15) raise_unable_to_load_jquery_exception(driver)
def activate_introjs(driver): """Allows you to use IntroJS Tours with SeleniumBase https://introjs.com/ """ intro_css = constants.IntroJS.MIN_CSS intro_js = constants.IntroJS.MIN_JS theme_color = sb_config.introjs_theme_color hover_color = sb_config.introjs_hover_color backdrop_style = style_sheet.introjs_style % ( theme_color, hover_color, hover_color, hover_color, theme_color, ) verify_script = """// Verify IntroJS activated var intro2 = introJs(); """ activate_bootstrap(driver) js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) js_utils.add_css_style(driver, backdrop_style) for x in range(4): js_utils.activate_jquery(driver) js_utils.add_css_link(driver, intro_css) js_utils.add_js_link(driver, intro_js) time.sleep(0.1) for x in range(int(settings.MINI_TIMEOUT * 2.0)): # IntroJS needs a small amount of time to load & activate. try: driver.execute_script(verify_script) js_utils.wait_for_ready_state_complete(driver) js_utils.wait_for_angularjs(driver) time.sleep(0.05) return except Exception: time.sleep(0.15) js_utils.raise_unable_to_load_jquery_exception(driver)