def start(self, **kwargs): ''' get root ready like get root element in windows UIA, get browser to target website must have a "browser_name" argument in kwargs to indicate which browser to use other kwargs are same as normal selenium webdrivers ''' if not "browser_name" in kwargs: LOGGER.error("Browser name not specified") raise DriverException("Browser name not specified") browser_name = kwargs["browser_name"] if not browser_name.upper() in self.support_browsers: LOGGER.error("Unsupported browser name: %s", browser_name) raise DriverException("Unsupported browser name: %s" % browser_name) #remove browser_name key from kwargs del kwargs["browser_name"] #for ie browser, need to ignore zoom settings if browser_name.upper() == "IE": if "capabilities" in kwargs: #insert "ignoreZoomSetting" in driver capabilities caps = kwargs["capabilities"] caps["ignoreZoomSetting"] = True else: #add default capabilities caps = DesiredCapabilities.INTERNETEXPLORER caps["ignoreZoomSetting"] = True kwargs["capabilities"] = caps self.webdriver = self.support_browsers[browser_name.upper()](**kwargs)
def start(self, **kwargs): ''' get root ready like get root element in windows UIA, get browser to target website must have a "browser_name" argument in kwargs to indicate which browser to use other kwargs are same as normal selenium webdrivers ''' if not "browser_name" in kwargs: LOGGER.error("Browser name not specified") raise DriverException("Browser name not specified") browser_name = kwargs["browser_name"] if not browser_name.upper() in self.support_browsers: LOGGER.error("Unsupported browser name: %s" , browser_name) raise DriverException("Unsupported browser name: %s" % browser_name) #remove browser_name key from kwargs del kwargs["browser_name"] #for ie browser, need to ignore zoom settings if browser_name.upper() == "IE": if "capabilities" in kwargs: #insert "ignoreZoomSetting" in driver capabilities caps = kwargs["capabilities"] caps["ignoreZoomSetting"] = True else: #add default capabilities caps = DesiredCapabilities.INTERNETEXPLORER caps["ignoreZoomSetting"] = True kwargs["capabilities"] = caps self.webdriver = self.support_browsers[browser_name.upper()](**kwargs)
def get_driver(): '''get driver Return: return driver module selected in config ''' try: import sys, os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) driver = __import__(driver_config.driver_used+"_driver") except ImportError as e: LOGGER.error("Driver load error: %s" % driver_config.driver_used) raise e return driver
def get_driver(): '''get driver Return: return driver module selected in config ''' try: import sys, os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) driver = __import__(driver_config.driver_used + "_driver") except ImportError as e: LOGGER.error("Driver load error: %s" % driver_config.driver_used) raise e return driver
def get_translated(self): ''' get translated result from parsed identifier ''' if len(self.parsed_identifier) == 2: name = self.parsed_identifier[0] value = self.parsed_identifier[1] try: getattr(MobileBy, name.upper()) except AttributeError: LOGGER.error("identifier not support: %s" , name) raise DriverException("identifier not support: %s" % name) return getattr(MobileBy, name.upper()), value else: LOGGER.error("Get error parsed_id: %s" , repr(self.parsed_identifier)) raise DriverException("Get error parsed_id: %s" % repr(self.parsed_identifier))
def get_translated(self): ''' get translated result from parsed identifier ''' if len(self.parsed_identifier) == 2: name = self.parsed_identifier[0] value = self.parsed_identifier[1] try: getattr(By, name.upper()) except AttributeError: LOGGER.error("identifier not support: %s", name) raise DriverException("identifier not support: %s" % name) return getattr(By, name.upper()), value else: LOGGER.error("Get error parsed_id: %s", repr(self.parsed_identifier)) raise DriverException("Get error parsed_id: %s" % repr(self.parsed_identifier))
import re import inspect from AXUI.logger import LOGGER from AXUI.exceptions import DriverException try: import selenium.webdriver as webdriver except ImportError as e: LOGGER.error( "To use AXUI selenium driver, you must install selenium python project first, check https://pypi.python.org/pypi/selenium" ) raise e from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.common.keys import Keys from . import Translater class Keyboard(object): def __init__(self, selenium_element): self.selenium_element = selenium_element def input(self, *values): '''send keyboard input to UI element Keyboard input string: (1) For normal charactors like [0~9][a~z][A~Z], input directly (2) For special charactors like "space", "tab", "newline", "F1~F12" You use {key_name} to replace them, all support keys in "selenium/webdriver/common/keys "
import re import inspect from AXUI.logger import LOGGER from AXUI.exceptions import DriverException try: import selenium.webdriver as webdriver except ImportError as e: LOGGER.error("To use AXUI selenium driver, you must install selenium python project first, check https://pypi.python.org/pypi/selenium") raise e from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.common.keys import Keys from . import Translater class Keyboard(object): def __init__(self, selenium_element): self.selenium_element = selenium_element def input(self, *values): '''send keyboard input to UI element Keyboard input string: (1) For normal charactors like [0~9][a~z][A~Z], input directly (2) For special charactors like "space", "tab", "newline", "F1~F12" You use {key_name} to replace them, all support keys in "selenium/webdriver/common/keys " ''' translated_values = []
import re import inspect from AXUI.logger import LOGGER from AXUI.exceptions import DriverException try: import appium.webdriver as webdriver except ImportError as e: LOGGER.error( "To use AXUI appium driver, you must install selenium and appium python client first, check https://pypi.python.org/pypi/selenium, https://pypi.python.org/pypi/Appium-Python-Client" ) raise e from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.common.keys import Keys from . import Translater class Keyboard(object): def __init__(self, selenium_element): self.selenium_element = selenium_element def input(self, *values): '''send keyboard input to UI element Keyboard input string: (1) For normal charactors like [0~9][a~z][A~Z], input directly (2) For special charactors like "space", "tab", "newline", "F1~F12" You use {key_name} to replace them, all support keys in "selenium/webdriver/common/keys "