def __init__(self, parent, group_title, item_name, text_filter=None, logger=None): Widget.__init__(self, parent, logger=logger) self.group_title = group_title self.item_name = item_name if text_filter is not None and not callable(text_filter): raise TypeError('text_filter= must be a callable') self.text_filter = text_filter
def __init__(self, parent, logger=None): Widget.__init__(self, parent, logger=logger) self.username = TextInput(parent=self, locator=self.USERNAME) self.password = TextInput(parent=self, locator=self.PASSWORD) self.submit = Button(parent=self.parent, locator=self.SUBMIT, logger=logger)
def __init__(self, parent, *text, **kwargs): logger = kwargs.pop("logger", None) Widget.__init__(self, parent, logger=logger) self.args = text self.kwargs = kwargs self.classes = kwargs.pop("classes", []) if text: if kwargs: # classes should have been the only kwarg combined with text args raise TypeError("If you pass button text then only pass classes in addition") if len(text) == 1: self.locator_conditions = "normalize-space(.)={}".format(quote(text[0])) elif len(text) == 2 and text[0].lower() == "contains": self.locator_conditions = "contains(normalize-space(.), {})".format(quote(text[1])) else: raise TypeError("An illegal combination of text params") else: # Join the kwargs, if any self.locator_conditions = " and ".join( "@{}={}".format(attr, quote(value)) for attr, value in kwargs.items()) if self.classes: if self.locator_conditions: self.locator_conditions += " and " self.locator_conditions += " and ".join( "contains(@class, {})".format(quote(klass)) for klass in self.classes) if self.locator_conditions: self.locator_conditions = "and ({})".format(self.locator_conditions)
def __init__(self, parent, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) if locator: self.locator = locator else: self.locator = self.ROOT self._pagination = Pagination(parent=self.parent)
def __init__(self, parent, *text, **kwargs): logger = kwargs.pop('logger', None) Widget.__init__(self, parent, logger=logger) self.args = text self.kwargs = kwargs if text: if kwargs and 'classes' not in kwargs: raise TypeError( 'If you pass button text then do not pass anything else.') if len(text) == 1: self.locator_conditions = 'normalize-space(.)={}'.format( quote(text[0])) elif len(text) == 2 and text[0].lower() == 'contains': self.locator_conditions = 'contains(normalize-space(.), {})'.format( quote(text[1])) else: raise TypeError('An illegal combination of text params') else: # Join the kwargs, if any self.locator_conditions = ' and '.join( '@{}={}'.format(attr, quote(value)) for attr, value in kwargs.items()) classes = kwargs.pop('classes', []) if classes: self.locator_conditions += ' and ' self.locator_conditions += ' and '.join( 'contains(@class, {})'.format(quote(klass)) for klass in classes) if self.locator_conditions: self.locator_conditions = 'and ({})'.format( self.locator_conditions)
def __init__(self, parent, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) if locator: self.locator = locator else: self.locator = self.ROOT wait_displayed(self)
def __init__(self, parent, force_open=False, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) self._force_open = force_open if locator: self.locator = locator else: self.locator = self.ROOT wait_displayed(self)
def __init__(self, parent, id=None, locator=None, logger=None): """Create the widget""" Widget.__init__(self, parent, logger=logger) if id: self.locator = self.BASE_LOCATOR.format(quote(id)) elif locator: self.locator = locator else: raise TypeError("You need to specify either id or locator")
def __init__(self, parent, id=None, locator=None, logger=None): """Create the widget""" Widget.__init__(self, parent, logger=logger) if id: self.locator = self.BASE_LOCATOR.format(quote(id)) elif locator: self.locator = locator else: raise TypeError("You need to specify either id or locator")
def __init__(self, parent, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) if locator: self.locator = locator else: self.locator = self.ROOT self._filter = DropDown(parent=self, locator=self.locator + self.FILTER_DROPDOWN) self._filter_list = FilterList(parent=self.parent)
def __init__(self, parent, parent_entity, affected_entity, logger=None): Widget.__init__(self, parent, logger=logger) self.parent_entity = parent_entity.lower() self.affected_entity = affected_entity.lower() self.parent_locator = ( "//div[contains(@id, 'ms-{}') and " "contains(@id, '{}_ids')]".format( self.parent_entity, self.affected_entity) )
def __init__(self, parent, text=None, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) if locator and text: raise ValueError("Either text or locator should be provided") if text: self.locator = self.TEXT_LOCATOR.format(quote(text)) elif locator: self.locator = locator else: self.locator = self.DEFAULT_LOCATOR
def __init__(self, parent, *text, **kwargs): logger = kwargs.pop("logger", None) Widget.__init__(self, parent, logger=logger) self.args = text self.kwargs = kwargs locator = kwargs.pop("locator", None) if locator: self.locator = locator else: self.locator = self._generate_locator(*text, **kwargs)
def __init__(self, parent, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) if locator: self.locator = locator else: self.locator = self.ROOT self._filter_button = Button( parent=self.parent, locator=('//label[normalize-space(text())="Filters:"]/' '..//*[contains(@class, "fa-filter")]'))
def __init__(self, parent, label=None, id=None, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) label_part = " and @label={}".format(quote(label)) if label else "" id_part = " and @id={}".format(quote(id)) if id else "" if locator is not None: self.locator = locator elif label_part or id_part: self.locator = self.LOCATOR_START.format(label_part + id_part) else: raise TypeError( 'You need to specify either, id, label or locator for Navigation' )
def __init__(self, parent, text=None, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) if locator and text: raise ValueError("Either text or locator should be provided") if text: self.locator = ('.//div[contains(@class, "pf-c-dropdown") and ' "child::button[normalize-space(.)={}]]").format( quote(text)) elif locator: self.locator = locator else: self.locator = './/div[contains(@class, "pf-c-dropdown")][1]'
def __init__(self, parent, logger=None): Widget.__init__(self, parent, logger=logger) self.help_menu = DropDown( parent=self, locator=self.NAVBAR_RIGHT_MENU.format('help'), logger=logger, force_open=True) self.user_menu = DropDown( parent=self, locator=self.NAVBAR_RIGHT_MENU.format('user'), logger=logger, force_open=True)
def __init__(self, parent, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) if locator: self.locator = locator else: self.locator = self.ROOT self._drop_down = DropDown(parent=self, locator=self.locator + '/*[contains(@class, "dropdown")]') self._sort = Sort(parent=self, locator=self.locator + '/button/*[contains(@class, "sort-direction")]/..')
def __init__(self, parent, component_id, logger=None, *args, **kwargs): OUIAMixin.__init__(self, klass.PF_NAME, component_id) if issubclass(klass, GenericLocatorWidget): super(klass, self).__init__(parent, self.locator, logger=logger) elif issubclass(klass, Table): super(klass, self).__init__(parent, self.locator, logger=logger, **kwargs) elif issubclass(klass, Dropdown): Widget.__init__(self, parent, logger=logger) else: super(klass, self).__init__(parent, logger=logger)
def __init__(self, parent, *text, **kwargs): logger = kwargs.pop('logger', None) Widget.__init__(self, parent, logger=logger) if text: if kwargs: raise TypeError('If you pass button text then do not pass anything else.') if len(text) == 1: self.locator_conditions = 'normalize-space(.)={}'.format(quote(text[0])) elif len(text) == 2 and text[0].lower() == 'contains': self.locator_conditions = 'contains(normalize-space(.), {})'.format(quote(text[1])) else: raise TypeError('An illegal combination of text params') else: # Join the kwargs self.locator_conditions = ' and '.join( '@{}={}'.format(attr, quote(value)) for attr, value in kwargs.items())
def __init__(self, parent, label=None, id=None, locator=None, logger=None): Widget.__init__(self, parent, logger=logger) quoted_label = quote(label) if label else "" if label: label_part = " and @label={} or @aria-label={}".format(quoted_label, quoted_label) else: label_part = "" id_part = " and @id={}".format(quote(id)) if id else "" if locator is not None: self.locator = locator elif label_part or id_part: self.locator = self.LOCATOR_START.format(label_part + id_part) else: raise TypeError("You need to specify either, id, label or locator for Navigation")
def __init__(self, parent, label=None, id=None, locator=None, logger=None): self._loaded = False Widget.__init__(self, parent, logger=logger) quoted_label = quote(label) if label else "" if label: label_part = " and @label={} or @aria-label={}".format(quoted_label, quoted_label) else: label_part = "" id_part = " and @id={}".format(quote(id)) if id else "" if locator is not None: self.locator = locator elif label_part or id_part: self.locator = self.LOCATOR_START.format(label_part + id_part) else: raise TypeError("You need to specify either, id, label or locator for Navigation")
def __init__(self, parent, id, number="", move_into=None, move_from=None, available_items="choices_chosen", chosen_items="members_chosen", logger=None): Widget.__init__(self, parent, logger=logger) self.available_options = Select(self, id=available_items) self.chosen_options = Select(self, id=chosen_items) self.id = id if number: self.number = "[{}]".format(number) else: self.number = number if isinstance(move_into, WidgetDescriptor): self._move_into = move_into.klass(self, **move_into.kwargs) else: self._move_into = move_into if isinstance(move_from, WidgetDescriptor): self._move_from = move_from.klass(self, **move_from.kwargs) else: self._move_from = move_from
def __init__(self, parent, text, logger=None): Widget.__init__(self, parent, logger=logger) self.text = text
def __init__(self, parent, flash_div, logger=None): Widget.__init__(self, parent, logger=logger) self.flash_div = flash_div
def __init__(self, parent, locator=None, item_name=None, logger=None): Widget.__init__(self, parent, logger=logger) self.locator = locator self.item_name = item_name
def __init__(self, parent, show_loc=None, logger=None): Widget.__init__(self, parent, logger=logger) self.show_loc = show_loc
def __init__(self, parent, text, logger=None): Widget.__init__(self, parent, logger=logger) self.text = text
def __init__(self, parent, type_, logger=None): Widget.__init__(self, parent, logger=logger) if type_ not in ["Scope", "Expression"]: raise ValueError("Type should be Scope or Expression only") else: self.type = type_
def __init__(self, parent, type_, logger=None): Widget.__init__(self, parent, logger=logger) if type_ not in ["Scope", "Expression"]: raise ValueError("Type should be Scope or Expression only") else: self.type = type_
def __init__(self, parent, title, **kwargs): Widget.__init__(self, parent, logger=kwargs.pop('logger', None)) self.title = title
def __init__(self, parent, search_root, text_access_func=None, logger=None): Widget.__init__(self, parent, logger=logger) self.search_root = search_root self._access_func = text_access_func
def __init__(self, parent, tree_id=None, logger=None): Widget.__init__(self, parent, logger=logger) self._tree_id = tree_id
def __init__(self, parent, tree_id=None, logger=None): Widget.__init__(self, parent, logger=logger) self._tree_id = tree_id
def __init__(self, parent, id, can_hide_on_select=False, logger=None): Widget.__init__(self, parent, logger=logger) self.id = id self.can_hide_on_select = can_hide_on_select
def __init__(self, parent, flash_div, logger=None): Widget.__init__(self, parent, logger=logger) self.flash_div = flash_div
def __init__(self, parent, locator, logger=None): Widget.__init__(self, parent, logger=logger) self.locator = locator
def __init__(self, parent, locator, logger=None): Widget.__init__(self, parent, logger=logger) self.locator = locator
def __init__(self, parent, id, logger=None): Widget.__init__(self, parent, logger=logger) self.id = id
def __init__(self, parent, logger=None): Widget.__init__(self, parent, logger=logger)
def __init__(self, parent, logger=None): Widget.__init__(self, parent, logger=logger)
def __init__(self, parent, locator=None, logger=None): Widget.__init__(self, parent=parent, logger=logger) self._locator = locator or self.ROOT
def __init__(self, parent, locator=None, logger=None): """Provide default locator value if it wasn't passed""" if not locator: locator = ".//span[contains(@ng-class, 'host.subscription_global_status')]" Widget.__init__(self, parent, logger=logger) self.locator = locator
def __init__(self, parent, locator=None, logger=None): """Provide common progress bar locator if it wasn't specified.""" Widget.__init__(self, parent, logger=logger) if not locator: locator = './/div[contains(@class, "progress progress-striped")]' self.locator = locator
def __init__(self, parent, parent_entity, affected_entity, logger=None): Widget.__init__(self, parent, logger=logger) self.parent_entity = parent_entity.lower() self.affected_entity = affected_entity.lower()
def __init__(self, parent, label, logger=None): Widget.__init__(self, parent, logger=logger) self.label = label