huskium package
Subpackages
- huskium.selenium package
- Submodules
- huskium.selenium.by module
- huskium.selenium.ecex module
ECEXGenericECEXGenericECEX.absence_of_all_elements_located()GenericECEX.absence_of_element_located()GenericECEX.element_located_to_be_clickable()GenericECEX.element_located_to_be_selected()GenericECEX.element_located_to_be_unclickable()GenericECEX.element_located_to_be_unselected()GenericECEX.element_to_be_clickable()GenericECEX.element_to_be_selected()GenericECEX.element_to_be_unclickable()GenericECEX.element_to_be_unselected()GenericECEX.invisibility_of_element()GenericECEX.invisibility_of_element_located()GenericECEX.presence_of_all_elements_located()GenericECEX.presence_of_element_located()GenericECEX.visibility_of_all_elements_located()GenericECEX.visibility_of_any_elements_located()GenericECEX.visibility_of_element()GenericECEX.visibility_of_element_located()
- huskium.selenium.element module
ElementGenericElementGenericElement.accessible_nameGenericElement.actionGenericElement.all_selected_optionsGenericElement.aria_roleGenericElement.borderGenericElement.byGenericElement.cacheGenericElement.centerGenericElement.clear()GenericElement.click()GenericElement.click_and_hold()GenericElement.click_and_hold_on_element()GenericElement.clickable_cacheGenericElement.clickable_cachingGenericElement.clickable_elementGenericElement.clicks()GenericElement.clicks_on_element()GenericElement.context_click()GenericElement.context_click_on_element()GenericElement.default_cache()GenericElement.default_remarkGenericElement.delayed_click()GenericElement.deselect_all()GenericElement.deselect_by_index()GenericElement.deselect_by_value()GenericElement.deselect_by_visible_text()GenericElement.disable_cache()GenericElement.disable_default_cache()GenericElement.double_click()GenericElement.double_click_on_element()GenericElement.drag_and_drop()GenericElement.drag_and_drop_by_offset()GenericElement.driverGenericElement.dynamic()GenericElement.enable_cache()GenericElement.enable_default_cache()GenericElement.find_element()GenericElement.first_selected_optionGenericElement.get_attribute()GenericElement.get_dom_attribute()GenericElement.get_property()GenericElement.indexGenericElement.is_clickable()GenericElement.is_enabled()GenericElement.is_present()GenericElement.is_selected()GenericElement.is_visible()GenericElement.key_down()GenericElement.key_down_to_element()GenericElement.key_up()GenericElement.key_up_to_element()GenericElement.locationGenericElement.location_once_scrolled_into_viewGenericElement.locatorGenericElement.loggerGenericElement.move_by_offset()GenericElement.move_to_element()GenericElement.move_to_element_with_offset()GenericElement.optionsGenericElement.pageGenericElement.pause()GenericElement.perform()GenericElement.present_cacheGenericElement.present_cachingGenericElement.present_elementGenericElement.rectGenericElement.release()GenericElement.release_on_element()GenericElement.remarkGenericElement.reset_actions()GenericElement.reset_remark()GenericElement.reset_timeout()GenericElement.screenshot()GenericElement.scroll_by_amount()GenericElement.scroll_from_element()GenericElement.scroll_from_origin()GenericElement.scroll_to_element()GenericElement.selectGenericElement.select_by_index()GenericElement.select_by_value()GenericElement.select_by_visible_text()GenericElement.select_cacheGenericElement.select_cachingGenericElement.send_hotkey()GenericElement.send_hotkey_to_element()GenericElement.send_keys()GenericElement.sends_keys()GenericElement.sends_keys_to_element()GenericElement.shadow_rootGenericElement.sizeGenericElement.submit()GenericElement.switch_to_frame()GenericElement.tag_nameGenericElement.textGenericElement.timeoutGenericElement.unset_cache()GenericElement.valueGenericElement.value_of_css_property()GenericElement.visible_cacheGenericElement.visible_cachingGenericElement.visible_elementGenericElement.visible_textGenericElement.visible_value_of_css_property()GenericElement.waitGenericElement.wait_absent()GenericElement.wait_clickable()GenericElement.wait_invisible()GenericElement.wait_present()GenericElement.wait_selected()GenericElement.wait_unclickable()GenericElement.wait_unselected()GenericElement.wait_visible()GenericElement.waiting()
- huskium.selenium.elements module
ElementsGenericElementsGenericElements.accessible_namesGenericElements.all_present_elementsGenericElements.all_visible_elementsGenericElements.all_visible_textsGenericElements.any_visible_elementsGenericElements.any_visible_textsGenericElements.are_all_present()GenericElements.are_all_visible()GenericElements.are_any_visible()GenericElements.aria_rolesGenericElements.byGenericElements.centersGenericElements.default_remarkGenericElements.driverGenericElements.dynamic()GenericElements.find()GenericElements.find_elements()GenericElements.get_attributes()GenericElements.get_dom_attributes()GenericElements.get_properties()GenericElements.locationsGenericElements.locatorGenericElements.loggerGenericElements.pageGenericElements.quantityGenericElements.rectsGenericElements.remarkGenericElements.reset_remark()GenericElements.reset_timeout()GenericElements.shadow_rootsGenericElements.sizesGenericElements.textsGenericElements.timeoutGenericElements.valueGenericElements.waitGenericElements.wait_all_absent()GenericElements.wait_all_present()GenericElements.wait_all_visible()GenericElements.wait_any_visible()GenericElements.waiting()
- huskium.selenium.page module
GenericPageGenericPage.accept_alert()GenericPage.actionGenericPage.add_cookie()GenericPage.add_cookies()GenericPage.alert_textGenericPage.back()GenericPage.click()GenericPage.click_and_hold()GenericPage.close()GenericPage.context_click()GenericPage.current_window_handleGenericPage.delete_all_cookies()GenericPage.delete_cookie()GenericPage.delete_downloadable_files()GenericPage.dialogGenericPage.dismiss_alert()GenericPage.double_click()GenericPage.download_file()GenericPage.driverGenericPage.execute_async_script()GenericPage.execute_script()GenericPage.fedcmGenericPage.fedcm_dialog()GenericPage.forward()GenericPage.fullscreen_window()GenericPage.get()GenericPage.get_cookie()GenericPage.get_cookies()GenericPage.get_downloadable_files()GenericPage.get_log()GenericPage.get_window_border()GenericPage.get_window_center()GenericPage.get_window_position()GenericPage.get_window_rect()GenericPage.get_window_size()GenericPage.implicitly_wait()GenericPage.key_down()GenericPage.key_up()GenericPage.list_pinned_scriptsGenericPage.log_typesGenericPage.loggerGenericPage.maximize_window()GenericPage.minimize_window()GenericPage.mobileGenericPage.move_by_offset()GenericPage.nameGenericPage.new_window_is_opened()GenericPage.number_of_windows_to_be()GenericPage.pause()GenericPage.perform()GenericPage.pin_script()GenericPage.pinned_scriptsGenericPage.print_page()GenericPage.quit()GenericPage.refresh()GenericPage.release()GenericPage.remarkGenericPage.reraiseGenericPage.reset_actions()GenericPage.save_screenshot()GenericPage.scroll_by_amount()GenericPage.scroll_from_origin()GenericPage.send_hotkey()GenericPage.send_keys()GenericPage.set_page_load_timeout()GenericPage.set_script_timeout()GenericPage.set_window_position()GenericPage.set_window_rect()GenericPage.set_window_size()GenericPage.sourceGenericPage.supports_fedcmGenericPage.switch_to_active_element()GenericPage.switch_to_alert()GenericPage.switch_to_default_content()GenericPage.switch_to_frame()GenericPage.switch_to_new_window()GenericPage.switch_to_parent_frame()GenericPage.switch_to_window()GenericPage.timeoutGenericPage.titleGenericPage.title_contains()GenericPage.title_is()GenericPage.unpin()GenericPage.urlGenericPage.url_changes()GenericPage.url_contains()GenericPage.url_is()GenericPage.url_matches()GenericPage.waitGenericPage.waiting()GenericPage.window_handles
Page
- Module contents
- huskium.appium package
- Submodules
- huskium.appium.by module
- huskium.appium.ecex module
- huskium.appium.element module
- huskium.appium.elements module
- huskium.appium.page module
PagePage.activate_app()Page.contextPage.contextsPage.draw_gesture()Page.draw_lines()Page.flick()Page.flick_by()Page.get_status()Page.swipe()Page.swipe_by()Page.switch_to_app()Page.switch_to_context()Page.switch_to_flutter()Page.switch_to_webview()Page.tap()Page.tap_window_center()Page.terminate_app()
- Module contents
Submodules
huskium.common module
- class huskium.common.Area
Bases:
objectAll Area attributes store (x, y, width, height). Used in Page and Element to set the area action for swipe_by and flick_by.
- FULL: tuple = (0.0, 0.0, 1.0, 1.0)
Full window size.
- class huskium.common.Offset
Bases:
objectAll Offset attributes store (start_x, start_y, end_x, end_y). Used in Page and Element to set the offset action for swipe_by and flick_by.
- DOWN: tuple = (0.5, 0.25, 0.5, 0.75)
Swipe down (top to bottom).
- LEFT: tuple = (0.75, 0.5, 0.25, 0.5)
Swipe left (right to left).
- LOWER_LEFT: tuple = (0.75, 0.25, 0.25, 0.75)
Swipe lower left (upper right to lower left).
- LOWER_RIGHT: tuple = (0.25, 0.25, 0.75, 0.75)
Swipe lower right (upper left to lower right).
- RIGHT: tuple = (0.25, 0.5, 0.75, 0.5)
Swipe right (left to right).
- UP: tuple = (0.5, 0.75, 0.5, 0.25)
Swipe up (bottom to top).
- UPPER_LEFT: tuple = (0.75, 0.75, 0.25, 0.25)
Swipe upper left (lower right to upper left).
- UPPER_RIGHT: tuple = (0.25, 0.75, 0.75, 0.25)
Swipe upper right (lower left to upper right).
huskium.dynamic module
- huskium.dynamic.dynamic(func)
Dynamic element decorator for page objects. Applies to any dynamic elements that return an Element or Elements.
Examples
from huskium import dynamic @dynamic def my_element(self, par): return Element(By.IOS_PREDICATE, 'name CONTAINS "{par}"') # You can NOT set the dynamic element without the dynamic decorator, # as it will not trigger the descriptor. The following is incorrect: def my_element(self, par): return Element(By.IOS_PREDICATE, 'name CONTAINS "{par}"')
huskium.exception module
- exception huskium.exception.NoSuchCacheException(message: str = 'No cache available, please relocate the element in except.')
Bases:
ExceptionTypically used internally in Element. If no cache exists, this exception is raised to trigger element relocation.
huskium.logging module
- class huskium.logging.BasePrefixFilter(prefix: str | None = None, islower: bool = True, torecord: bool = False)
Bases:
Filter- property islower
- property prefix
- property record
- property torecord
- class huskium.logging.FilePrefixFilter(prefix: str | None = None, islower: bool = True, torecord: bool = False)
Bases:
BasePrefixFilterDisplays logs of file frame whose names start with the target prefix.
Examples
import logging from huskium import FilePrefixFilter # Create a filter object with prefix = 'test'. filter = FilePrefixFilter('test') # Set up logging with filter. logging.getLogger().addFilter(filter) # All logging will follow the filter logic, # recording logs from file frames with the prefix 'test'. logging.info(...)
- filter(record)
Determine if the specified record is to be logged.
Returns True if the record should be logged, or False otherwise. If deemed appropriate, the record may be modified in-place.
- class huskium.logging.FuncPrefixFilter(prefix: str | None = None, islower: bool = True, torecord: bool = False)
Bases:
BasePrefixFilterDisplays logs of function frame whose names start with the target prefix.
Examples
import logging from huskium import FuncPrefixFilter # Create a filter object with prefix = 'test'. filter = FuncPrefixFilter('test') # Set up logging with filter. logging.getLogger().addFilter(filter) # All logging will follow the filter logic, # recording logs from function frames with the prefix 'test'. logging.info(...)
- filter(record)
Determine if the specified record is to be logged.
Returns True if the record should be logged, or False otherwise. If deemed appropriate, the record may be modified in-place.
- class huskium.logging.LogConfig
Bases:
objectGeneral log configuration.
- BASIC_CONFIG = {'datefmt': '%Y-%m-%d %H:%M:%S', 'filemode': 'w', 'filename': './log.log', 'format': '%(asctime)s | %(levelname)s | %(filename)s:%(lineno)d | %(funcName)s | %(message)s', 'level': 10}
- DATEFMT = '%Y-%m-%d %H:%M:%S'
- FILEMODE = 'w'
- FILENAME = './log.log'
- FORMAT = '%(asctime)s | %(levelname)s | %(filename)s:%(lineno)d | %(funcName)s | %(message)s'
- LEVEL = 10
- PREFIX_FILTER = <huskium.logging.PrefixFilter object>
Using PREFIX_FILTER.reset_() to reset the internal debug log config.
- class huskium.logging.PageElementLoggerAdapter(logger, instance)
Bases:
LoggerAdapterMainly used in internal Page and Element(s) debug log adapter.
- process(msg, kwargs)
Process the logging message and keyword arguments passed in to a logging call to insert contextual information. You can either manipulate the message itself, the keyword args or both. Return the message and kwargs modified (or not) to suit your needs.
Normally, you’ll only need to override this one method in a LoggerAdapter subclass for your specific needs.
- class huskium.logging.PrefixFilter(prefix: str | None = None, islower: bool = True, isfunc: bool = True, torecord: bool = False)
Bases:
BasePrefixFilterDisplays logs of frame whose names start with the target prefix.
Examples
import logging from huskium import PrefixFilter # Create a filter object with prefix = 'test'. filter = PrefixFilter('test') # Set up logging with filter. logging.getLogger().addFilter(filter) # All logging will follow the filter logic, # recording logs from frames with the prefix 'test'. logging.info(...)
- filter(record)
Determine if the specified record is to be logged.
Returns True if the record should be logged, or False otherwise. If deemed appropriate, the record may be modified in-place.
- property isfunc
- property prefixfilter
- reset(prefix: str | None = None, islower: bool = True, isfunc: bool = True, torecord: bool = False)
Reset all filter settings.
- reset_isfunc(value: bool)
- reset_islower(value: bool)
- reset_prefix(value: str | None)
- reset_torecord(value: bool)