Class MenuBarTester
-
- All Implemented Interfaces:
-
com.vaadin.browserless.Clickable
public class MenuBarTester<T extends MenuBar> extends ComponentTester<T>
Tester for MenuBar components.
- Since:
1.0
-
-
Constructor Summary
Constructors Constructor Description MenuBarTester(T component)Wrap given component for testing.
-
Method Summary
Modifier and Type Method Description voidclickItem(String topLevelText, Array<String> nestedItemsText)Simulates a click on the item that matches the given text. voidclickItem(int topLevelPosition, Array<int> nestedItemsPositions)Simulates a click on the item at the given position in the menu. booleanisItemChecked(String topLevelText, Array<String> nestedItemsText)Checks if the checkable menu item matching given text is checked. booleanisItemChecked(int topLevelPosition, Array<int> nestedItemsPositions)Checks if the checkable menu item at given position is checked. StringgetItemTooltipText(String topLevelText, Array<String> nestedItemsText)Gets the tooltip text of the menu item matching the given text. StringgetItemTooltipText(int topLevelPosition, Array<int> nestedItemsPositions)Gets the tooltip text of the menu item at the given position in the menu. List<String>getItemTexts()Gets the texts of the menu items, as the browser shows them. List<String>getItemTexts(String topLevelText, Array<String> nestedItemsText)Gets the texts of the items of the sub menu of the item matching the given text, as the browser shows them. -
Methods inherited from class com.vaadin.browserless.ComponentTester
blur, ensureComponentIsUsable, find, focus, getComponent, isFocused, isUsable, setModal -
Methods inherited from class com.vaadin.browserless.Clickable
click, click, click, middleClick, middleClick, rightClick, rightClick -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
MenuBarTester
MenuBarTester(T component)
Wrap given component for testing.
- Parameters:
component- target component
-
-
Method Detail
-
clickItem
void clickItem(String topLevelText, Array<String> nestedItemsText)
Simulates a click on the item that matches the given text. For nested menu item provide the text of each menu item in the hierarchy. The path to the menu item must reflect what is seen in the browser, meaning that hidden items are ignored.
menu.addItem("Preview", event -> { }); var subMenu = menu.addItem("Share").getSubMenu(); subMenu.addItem("Copy link", event -> { }); subMenu.addItem("Email", event -> { }); // clicks top level menu item with text Preview wrapper.clickItem("Preview"); // clicks nested menu item with text Email wrapper.clickItem("Share", "Email");- Parameters:
topLevelText- the text content of the top level menu item, not null.nestedItemsText- text content of the nested menu items
-
clickItem
void clickItem(int topLevelPosition, Array<int> nestedItemsPositions)
Simulates a click on the item at the given position in the menu. For nested menu item provide the position of each sub menu that should be navigated to reach the request item. The position reflects what is seen in the browser, so hidden items are ignored.
menu.addItem("Preview", event -> { }); var subMenu = menu.addItem("Share").getSubMenu(); subMenu.addItem("Copy link", event -> { }); subMenu.addItem("Email", event -> { }); // clicks top level "Preview" menu item at position 0 wrapper.clickItem(0); // clicks then nested menu item at position 1 "Email" through the // item "Share" at position 1 wrapper.clickItem(1, 1);- Parameters:
topLevelPosition- the zero-based position of the item in the menu, as it will be seen in the browser.nestedItemsPositions- the zero-based position of the nested items, relative to the parent menu
-
isItemChecked
boolean isItemChecked(String topLevelText, Array<String> nestedItemsText)
Checks if the checkable menu item matching given text is checked. For nested menu item provide the text of each menu item in the hierarchy. The path to the menu item must reflect what is seen in the browser, meaning that hidden items are ignored.
menu.addItem("Preview", event -> { }).setCheckable(true); var subMenu = menu.addItem("Share").getSubMenu(); subMenu.addItem("Copy link", event -> { }).setCheckable(true); subMenu.addItem("Email", event -> { }).setCheckable(true); wrapper.isItemChecked("Preview"); wrapper.isItemChecked("Share", "Email");- Parameters:
topLevelText- the text content of the top level menu item, not null.nestedItemsText- text content of the nested menu items- Returns:
true if the item at given path is checked, otherwise false.
-
isItemChecked
boolean isItemChecked(int topLevelPosition, Array<int> nestedItemsPositions)
Checks if the checkable menu item at given position is checked. For nested menu item provide the position of each sub menu that should be navigated to reach the requested item. The position reflects what is seen in the browser, so hidden items are ignored.
menu.addItem("Preview", event -> { }).setCheckable(true); var subMenu = menu.addItem("Share").getSubMenu(); subMenu.addItem("Copy link", event -> { }).setCheckable(true); subMenu.addItem("Email", event -> { }).setCheckable(true); // checks top level "Preview" menu item at position 0 wrapper.isItemChecked(0); // checks nested menu item at position 1 "Email" through the // item "Share" at position 1 wrapper.isItemChecked(1, 1);- Parameters:
topLevelPosition- the zero-based position of the item in the menu, as it will be seen in the browser.nestedItemsPositions- the zero-based position of the nested items, relative to the parent menu
-
getItemTooltipText
String getItemTooltipText(String topLevelText, Array<String> nestedItemsText)
Gets the tooltip text of the menu item matching the given text. For nested menu item provide the text of each menu item in the hierarchy. The path to the menu item must reflect what is seen in the browser, meaning that hidden items are ignored.
menu.addItem("Preview", event -> { }).setTooltipText("Preview the document"); var subMenu = menu.addItem("Share").getSubMenu(); subMenu.addItem("Email", event -> { }).setTooltipText("Send as email"); wrapper.getItemTooltipText("Preview"); wrapper.getItemTooltipText("Share", "Email");- Parameters:
topLevelText- the text content of the top level menu item, not null.nestedItemsText- text content of the nested menu items- Returns:
the tooltip text of the menu item at given path, or null if the item has no tooltip set.
- Since:
1.1
-
getItemTooltipText
String getItemTooltipText(int topLevelPosition, Array<int> nestedItemsPositions)
Gets the tooltip text of the menu item at the given position in the menu. For nested menu item provide the position of each sub menu that should be navigated to reach the requested item. The position reflects what is seen in the browser, so hidden items are ignored.
menu.addItem("Preview", event -> { }).setTooltipText("Preview the document"); var subMenu = menu.addItem("Share").getSubMenu(); subMenu.addItem("Email", event -> { }).setTooltipText("Send as email"); // gets the tooltip of the top level "Preview" item at position 0 wrapper.getItemTooltipText(0); // gets the tooltip of the nested "Email" item at position 0 through // the item "Share" at position 1 wrapper.getItemTooltipText(1, 0);- Parameters:
topLevelPosition- the zero-based position of the item in the menu, as it will be seen in the browser.nestedItemsPositions- the zero-based position of the nested items, relative to the parent menu- Returns:
the tooltip text of the menu item at given position, or null if the item has no tooltip set.
- Since:
1.1
-
getItemTexts
List<String> getItemTexts()
Gets the texts of the menu items, as the browser shows them.
Hidden items are ignored, so the returned texts are aligned with the positions used by clickItem. A text can also be given to clickItem, as long as it identifies a single enabled item: a text that several visible items share is ambiguous, and a disabled item cannot be clicked.
An item created from a component has no text of its own, and is reported as an empty string. Use find to reach such an item.
All items of the menu bar are reported. A browser collapses the items that do not fit into an overflow menu, which cannot be simulated without a layout.
menu.addItem("Preview", event -> { }); menu.addItem("Hidden", event -> { }).setVisible(false); menu.addItem("Share"); // ["Preview", "Share"] wrapper.getItemTexts();- Returns:
the texts of the visible top level menu items, in the order they are shown in
- Since:
25.3
-
getItemTexts
List<String> getItemTexts(String topLevelText, Array<String> nestedItemsText)
Gets the texts of the items of the sub menu of the item matching the given text, as the browser shows them.
For a nested sub menu, provide the text of each menu item in the hierarchy, the same way as in clickItem.
Hidden items are ignored at every level, both when following the path and in the returned texts.
var subMenu = menu.addItem("Share").getSubMenu(); subMenu.addItem("Copy link", event -> { }); subMenu.addItem("Email", event -> { }); // ["Copy link", "Email"] wrapper.getItemTexts("Share");- Parameters:
topLevelText- the text content of the top level menu item, not null.nestedItemsText- text content of the nested menu items- Returns:
the texts of the visible items of the sub menu, in the order they are shown in
- Since:
25.3
-
-
-
-