package org.keycloak.testsuite.console.page.realm; import org.keycloak.testsuite.console.page.AdminConsoleRealm; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import static org.keycloak.testsuite.util.WaitUtils.*; /** * * @author tkyjovsk */ public class RealmSettings extends AdminConsoleRealm { private static final String navTabsClassName = "nav-tabs"; @FindBy(className = navTabsClassName) private RealmTabs realmTabs; public RealmTabs tabs() { waitUntilElement(By.className(navTabsClassName)).is().present(); return realmTabs; } public class RealmTabs { @FindBy(linkText = "General") private WebElement generalSettingsTab; @FindBy(linkText = "Login") private WebElement loginSettingsTab; @FindBy(linkText = "Keys") private WebElement keysSettingsTab; @FindBy(linkText = "Email") private WebElement emailSettingsTab; @FindBy(linkText = "Themes") private WebElement themeSettingsTab; @FindBy(linkText = "Cache") private WebElement cacheSettingsTab; @FindBy(linkText = "Tokens") private WebElement tokenSettingsTab; @FindBy(linkText = "Security Defenses") private WebElement defenseTab; public void general() { waitUntilElement(generalSettingsTab).is().present(); generalSettingsTab.click(); } public void login() { waitUntilElement(loginSettingsTab).is().present(); loginSettingsTab.click(); } public void keys() { waitUntilElement(keysSettingsTab).is().present(); keysSettingsTab.click(); } public void email() { waitUntilElement(emailSettingsTab).is().present(); emailSettingsTab.click(); } public void themes() { waitUntilElement(themeSettingsTab).is().present(); themeSettingsTab.click(); } public void cache() { waitUntilElement(cacheSettingsTab).is().present(); cacheSettingsTab.click(); } public void tokens() { waitUntilElement(tokenSettingsTab).is().present(); tokenSettingsTab.click(); } public void securityDefenses() { waitUntilElement(defenseTab).is().present(); defenseTab.click(); } } }