package org.keycloak.testsuite.console.page.users; import org.keycloak.testsuite.console.page.fragment.Breadcrumb; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import static org.keycloak.testsuite.console.page.fragment.Breadcrumb.BREADCRUMB_XPATH; import static org.keycloak.testsuite.util.WaitUtils.*; /** * * @author tkyjovsk */ public class User extends Users { public static final String ID = "id"; @Override public String getUriFragment() { return super.getUriFragment() + "/{" + ID + "}"; } public void setId(String id) { setUriParameter(ID, id); } public String getId() { return (String) getUriParameter(ID); } @FindBy(xpath = BREADCRUMB_XPATH) private Breadcrumb breadcrumb; public Breadcrumb breadcrumb() { return breadcrumb; } @FindBy(xpath = "//div[@data-ng-controller='UserTabCtrl']/ul") protected UserTabs userTabs; public UserTabs tabs() { return userTabs; } public class UserTabs { @FindBy(linkText = "Attributes") private WebElement attributesLink; @FindBy(linkText = "Credentials") private WebElement credentialsLink; @FindBy(linkText = "Role Mappings") private WebElement roleMappingsLink; @FindBy(linkText = "Consents") private WebElement consentsLink; @FindBy(linkText = "Sessions") private WebElement sessionsLink; public void attributes() { waitUntilElement(attributesLink).is().present(); attributesLink.click(); } public void credentials() { waitUntilElement(consentsLink).is().present(); credentialsLink.click(); } public void roleMappings() { waitUntilElement(roleMappingsLink).is().present(); roleMappingsLink.click(); } public void consents() { waitUntilElement(consentsLink).is().present(); consentsLink.click(); } public void sessions() { waitUntilElement(sessionsLink).is().present(); sessionsLink.click(); } } }