widgetastic_patternfly4.menu module¶
-
class
widgetastic_patternfly4.menu.
BaseCheckboxMenu
¶ Bases:
widgetastic_patternfly4.menu.BaseMenu
Represents a checkbox menu.
-
ITEM_LOCATOR
= './/label[normalize-space(.)={}]/preceding-sibling::input'¶
-
fill
(items)¶ Fills a Checkbox with all items. Example dictionary: {“foo”: True, “bar”: False, “baz”: True}
Parameters: items – A dictionary containing what items to select (True) or deselect (False)
-
item_deselect
(items, close=True)¶ Opens the Checkbox and deselects the desired item.
Parameters: - item – Item to be selected
- close – Close the dropdown when finished
-
item_select
(items, close=True)¶ Opens the Checkbox and selects the desired item.
Parameters: - item – Item to be selected
- close – Close the dropdown when finished
-
items
¶ Returns a list of all CheckboxSelect items as strings.
-
read
()¶ Returns a dictionary containing the selected status as bools.
-
-
class
widgetastic_patternfly4.menu.
BaseMenu
¶ Bases:
object
Represents the Patternfly Menu.
Most menu’s exist without a toggle to open them (e.g. all the examples in the link below). That is why there is the class level constant IS_ALWAYS_OPEN which defaults to ‘True’.
However, it is possible to have a menu that will only appear based on a button or toggle. In these cases you should inherit from menu and set IS_ALWAYS_OPEN to ‘False’. BUTTON_LOCATOR will also need to be modified to point to the toggle button. In the DOM, the menu widget is usually placed as a sibling to the toggle button. You can either override ROOT or simply pass a locator when the widget is instantiated to point to the parent of the toggle button.
class PermissionsMenu(Menu): IS_ALWAYS_OPEN = False BUTTON_LOCATOR = ".//button[contains(@class, 'pf-c-menu-toggle')]" ROOT = f"{BUTTON_LOCATOR}/.."
https://www.patternfly.org/v4/documentation/react/components/menu
-
BUTTON_LOCATOR
= './button'¶
-
IS_ALWAYS_OPEN
= True¶
-
ITEMS_LOCATOR
= ".//li[contains(@class, 'pf-c-menu__list-item')]"¶
-
ITEM_LOCATOR
= ".//*[contains(@class, 'pf-c-menu__list-item') and normalize-space(.)={}]"¶
-
SELECTED_ITEMS_LOCATOR
= ".//button[contains(@class, 'pf-m-selected')]"¶
-
TEXT_LOCATOR
= ".//div[contains(@class, 'pf-c-menu') and child::button[normalize-space(.)={}]]"¶
-
close
(ignore_nonpresent=False)¶ Close the menu
It it is always open we do nothing
Parameters: ignore_nonpresent – Will ignore exceptions due to disabled or missing dropdown
-
fill
(value)¶ Fills a Menu with a value or values.
-
is_enabled
¶ Returns True if the menu toggle itself is enabled and therefore interactive.
-
is_open
¶ Returns True if the Dropdown is open
Some menus are visible without having to click anything, so if the items are displayed we consider that to be open as well.
-
item_element
(item, close=True)¶ Returns a WebElement for given item name.
-
item_select
(item)¶ Opens the Menu and selects the desired item.
Parameters: item – Item to be selected Raises: MenuItemDisabled
– if item is disabled
-
read
()¶ Returns a string of the text of the selected option.
-
selected_items
¶ Returns a list of all selected items as strings.
-
-
class
widgetastic_patternfly4.menu.
CheckboxMenu
(parent, text=None, locator=None, logger=None)¶ Bases:
widgetastic_patternfly4.menu.BaseCheckboxMenu
,widgetastic_patternfly4.dropdown.Dropdown
-
DEFAULT_LOCATOR
= './/div[contains(@class, "pf-c-menu")]'¶
-
-
class
widgetastic_patternfly4.menu.
Menu
(parent, text=None, locator=None, logger=None)¶ Bases:
widgetastic_patternfly4.menu.BaseMenu
,widgetastic_patternfly4.dropdown.Dropdown
-
DEFAULT_LOCATOR
= './/div[contains(@class, "pf-c-menu")]'¶
-
-
exception
widgetastic_patternfly4.menu.
MenuItemDisabled
¶ Bases:
widgetastic_patternfly4.dropdown.DropdownItemDisabled
-
exception
widgetastic_patternfly4.menu.
MenuItemNotFound
¶ Bases:
widgetastic_patternfly4.dropdown.DropdownItemNotFound