Code owners
Assign users and groups as approvers for specific file changes. Learn more.
PageWithGrid.java 1.83 KiB
package ddsl;
import ddsl.dcomponents.Grid.GridPagination;
import ddsl.dcomponents.Grid.SmallGrid;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
public class PageWithGrid extends DomiSMPPage {
private final static Logger LOG = LoggerFactory.getLogger(PageWithGrid.class);
/**
* Generic page used for pages which have small grid in the right of the page. This element gives access to action buttons and elements of the page.
*/
@FindBy(css = "mat-form-field input")
public WebElement filterInput;
@FindBy(css = "data-panel >div >div> mat-toolbar button:first-of-type")
public WebElement addBtn;
@FindBy(css = "data-panel")
public WebElement dataPanel;
@FindBy(css = "[role = \"tab\"]")
private List<WebElement> tabList;
public PageWithGrid(WebDriver driver) {
super(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getTIMEOUT()), this);
}
public GridPagination getPagination() {
return new GridPagination(driver, dataPanel);
}
public SmallGrid getDataPanelGrid() {
return new SmallGrid(driver, dataPanel);
}
public void goToTab(String tabName) {
for (WebElement element : tabList) {
if (element.getText().contains(tabName)) {
element.click();
wait.forAttributeToContain(element, "aria-selected", "true");
LOG.debug("Domain tab {} is opened", tabName);
}
}
}
public String getAlertMessageAndClose() {
return getAlertArea().getAlertMessage();
}
}