package org.richfaces.showcase.contextMenu.page; import java.util.List; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.ui.ExpectedCondition; import org.richfaces.fragment.contextMenu.RichFacesContextMenu; public class TreeContextMenuPage { @FindBy(css = ".rf-tr-nd-lf .rf-trn-cnt") private List<WebElement> leaves; @FindBy(className = "rf-trn-hnd-exp") private List<WebElement> collapseSigns; @FindBy(className = "rf-trn-hnd-colps") private List<WebElement> expandSigns; @FindBy(className = "rf-ctx-lbl") private RichFacesContextMenu contextMenu; @FindBy(css = "input[type='button']") private WebElement closeButton; @FindBy(css = "#popupContent tr:nth-of-type(3) td:nth-of-type(2)") private WebElement artistFromPopup; private static final String CLASS_OF_SELECTED_NODE = "rf-trn-sel"; public ExpectedCondition<Boolean> getExpextedConditionOnNodeSelected(final WebElement node) { return new ExpectedCondition<Boolean>() { @Override public Boolean apply(WebDriver arg0) { return node.getAttribute("class").contains(CLASS_OF_SELECTED_NODE); } }; } public RichFacesContextMenu getContextMenu() { return contextMenu; } public void collapseAllNodes() { int size = collapseSigns.size(); for (int i = 0; i < size; i++) { collapseSigns.get(0).click(); } } public void expandNodes(int... howMuch) { int size = expandSigns.size(); for (int i = 0; i < size; i++) { if (i == howMuch[0]) { break; } expandSigns.get(0).click(); } } public List<WebElement> getLeaves() { return leaves; } public void setLeaves(List<WebElement> leaves) { this.leaves = leaves; } public WebElement getCloseButton() { return closeButton; } public void setCloseButton(WebElement closeButton) { this.closeButton = closeButton; } public WebElement getArtistFromPopup() { return artistFromPopup; } public void setArtistFromPopup(WebElement artistFromPopup) { this.artistFromPopup = artistFromPopup; } }