keycloak-uncached

Changes

Details

diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerPortalExample.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerPortalExample.java
index beaa8fa..39c6517 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerPortalExample.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerPortalExample.java
@@ -5,7 +5,7 @@ import org.jboss.arquillian.container.test.api.OperateOnDeployment;
 import org.jboss.arquillian.graphene.findby.FindByJQuery;
 import org.jboss.arquillian.test.api.ArquillianResource;
 import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
-import org.keycloak.testsuite.util.WaitUtils;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 
 /**
@@ -61,7 +61,7 @@ public class CustomerPortalExample extends AbstractPageWithInjectedUrl {
     }
 
     public void customerSession() {
-        WaitUtils.waitGuiForElement(customerSessionLink);
+        waitUntilElement(customerSessionLink).is().present();
         customerSessionLink.click();
     }
 
@@ -70,11 +70,11 @@ public class CustomerPortalExample extends AbstractPageWithInjectedUrl {
     }
 
     public void waitForCustomerListingHeader() {
-        WaitUtils.waitGuiForElementNotPresent(customerListingHeader);
+        waitUntilElement(customerListingHeader).is().not().present();
     }
 
     public void waitForCustomerSessionHeader() {
-        WaitUtils.waitGuiForElementNotPresent(customerSessionHeader);
+        waitUntilElement(customerSessionHeader).is().not().present();
     }
 
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/ProductPortalExample.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/ProductPortalExample.java
index fd80e5d..29e692f 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/ProductPortalExample.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/ProductPortalExample.java
@@ -5,7 +5,7 @@ import org.jboss.arquillian.container.test.api.OperateOnDeployment;
 import org.jboss.arquillian.graphene.findby.FindByJQuery;
 import org.jboss.arquillian.test.api.ArquillianResource;
 import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
-import org.keycloak.testsuite.util.WaitUtils;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 
 /**
@@ -48,7 +48,7 @@ public class ProductPortalExample extends AbstractPageWithInjectedUrl {
     }
 
     public void waitForProductListingHeader() {
-        WaitUtils.waitGuiForElementNotPresent(productListingHeader);
+        waitUntilElement(productListingHeader).is().not().present();
     }
 
     public void logOut() {
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountFields.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountFields.java
index f78d31a..559e0c7 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountFields.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountFields.java
@@ -2,8 +2,7 @@ package org.keycloak.testsuite.auth.page.account;
 
 import org.keycloak.representations.idm.UserRepresentation;
 import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElementNotPresent;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 
@@ -49,11 +48,11 @@ public class AccountFields extends Form {
     }
 
     public void waitForUsernameInputPresent() {
-        waitAjaxForElement(usernameInput);
+        waitUntilElement(usernameInput).is().present();
     }
 
     public void waitForUsernameInputNotPresent() {
-        waitAjaxForElementNotPresent(usernameInput);
+        waitUntilElement(usernameInput).is().not().present();
     }
 
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountManagement.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountManagement.java
index ae1816a..5f36e62 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountManagement.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountManagement.java
@@ -21,7 +21,7 @@ import javax.ws.rs.core.UriBuilder;
 import org.jboss.arquillian.graphene.findby.FindByJQuery;
 import org.keycloak.admin.client.resource.RealmResource;
 import org.keycloak.testsuite.auth.page.AuthRealm;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElementPresent;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 
@@ -66,10 +66,10 @@ public class AccountManagement extends AuthRealm {
     private WebElement error;
 
     public String getErrorMessage() {
-        waitGuiForElementPresent(error, "Error message should be visible");
+        waitUntilElement(error, "Error message should be present").is().present();
         return error.getText();
     }
-    
+
     public void backToReferer() {
         backToRefererLink.click();
     }
@@ -101,12 +101,12 @@ public class AccountManagement extends AuthRealm {
     public void save() {
         save.click();
     }
-    
+
     public RealmResource realmResource() {
         return keycloak().realm(getAuthRealm());
     }
-    
+
     public void waitForAccountLinkPresent() {
-        waitGuiForElementPresent(accountLink, "account link should be present");
+        waitUntilElement(accountLink, "account link should be present").is().present();
     }
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/PasswordFields.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/PasswordFields.java
index ce05632..0666ae3 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/PasswordFields.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/PasswordFields.java
@@ -18,7 +18,7 @@
 package org.keycloak.testsuite.auth.page.account;
 
 import org.keycloak.testsuite.page.Form;
-import org.keycloak.testsuite.util.WaitUtils;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 
@@ -54,6 +54,6 @@ public class PasswordFields extends Form {
     }
 
     public void waitForConfirmPasswordInputPresent() {
-        WaitUtils.waitGuiForElement(confirmPasswordInput);
+        waitUntilElement(confirmPasswordInput).is().present();
     }
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Login.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Login.java
index e06c5b9..adb5759 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Login.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Login.java
@@ -20,8 +20,7 @@ package org.keycloak.testsuite.auth.page.login;
 import javax.ws.rs.core.UriBuilder;
 import org.jboss.arquillian.graphene.page.Page;
 import org.keycloak.testsuite.auth.page.AuthRealm;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElementNotPresent;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 
@@ -62,11 +61,11 @@ public abstract class Login extends AuthRealm {
     private WebElement keycloakTheme;
 
     public void waitForKeycloakThemeNotPresent() {
-        waitGuiForElementNotPresent(keycloakTheme);
+        waitUntilElement(keycloakTheme).is().not().present();
     }
 
     public void waitForKeycloakThemePresent() {
-        waitGuiForElement(keycloakTheme);
+        waitUntilElement(keycloakTheme).is().present();
     }
 
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginActions.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginActions.java
index 7308851..8610702 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginActions.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginActions.java
@@ -19,7 +19,7 @@ package org.keycloak.testsuite.auth.page.login;
 
 import javax.ws.rs.core.UriBuilder;
 import org.keycloak.testsuite.auth.page.AuthRealm;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElementPresent;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 
@@ -45,7 +45,7 @@ public class LoginActions extends AuthRealm {
     private WebElement feedbackText;
     
     public String getFeedbackText() {
-        waitGuiForElementPresent(feedbackText, "Feedback message should be visible");
+        waitUntilElement(feedbackText, "Feedback message should be present").is().present();
         return feedbackText.getText();
     }
     
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginForm.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginForm.java
index 8329abc..7a0ead7 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginForm.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginForm.java
@@ -70,20 +70,20 @@ public class LoginForm extends Form {
 
     public void register() {
         waitForUsernameInputPresent();
-        waitAjaxForElement(registerLink);
+        waitUntilElement(registerLink).is().present();
         registerLink.click();
     }
 
     public void login() {
-        waitAjaxForElement(loginButton);
+        waitUntilElement(loginButton).is().present();
         loginButton.click();
     }
-    
+
     public void forgotPassword() {
-        waitAjaxForElement(forgottenPassword);
+        waitUntilElement(forgottenPassword).is().present();
         forgottenPassword.click();
     }
-    
+
     public void rememberMe(boolean value) {
         waitForRememberMePresent();
         boolean selected = rememberMe.isSelected();
@@ -94,32 +94,31 @@ public class LoginForm extends Form {
 
 //    @Override
 //    public void cancel() {
-//        waitAjaxForElement(cancelButton);
+//        waitUntilElement(cancelButton).is().present();
 //        cancelButton.click();
 //    }
-    
     public void waitForUsernameInputPresent() {
         accountFields.waitForUsernameInputPresent();
     }
 
     public void waitForRegisterLinkNotPresent() {
-        waitAjaxForElementNotPresent(registerLink);
+        waitUntilElement(registerLink).is().not().present();
     }
 
     public void waitForResetPasswordLinkNotPresent() {
-        waitAjaxForElementNotPresent(forgottenPassword);
+        waitUntilElement(forgottenPassword).is().not().present();
     }
 
     public void waitForRememberMePresent() {
-        waitAjaxForElement(rememberMe);
+        waitUntilElement(rememberMe).is().present();
     }
 
     public void waitForRememberMeNotPresent() {
-        waitAjaxForElementNotPresent(rememberMe);
+        waitUntilElement(rememberMe).is().not().present();
     }
-    
+
     public void waitForLoginButtonPresent() {
-        waitGuiForElement(loginButton);
+        waitUntilElement(loginButton).is().present();
     }
 
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/ResetCredentials.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/ResetCredentials.java
index 3b4c4e8..76b6436 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/ResetCredentials.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/ResetCredentials.java
@@ -21,7 +21,7 @@ import javax.ws.rs.core.UriBuilder;
 import org.jboss.arquillian.graphene.page.Page;
 import org.keycloak.testsuite.auth.page.account.AccountFields;
 import org.keycloak.testsuite.auth.page.account.PasswordFields;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElementPresent;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 
@@ -57,7 +57,7 @@ public class ResetCredentials extends LoginActions {
     }
 
     public String getInfoMessage() {
-        waitGuiForElementPresent(info, "Info message should be visible");
+        waitUntilElement(info, "Info message should be visible").is().present();
         return info.getText();
     }
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/VerifyEmail.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/VerifyEmail.java
index 7a828ed..8caf9a6 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/VerifyEmail.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/VerifyEmail.java
@@ -21,7 +21,7 @@
  */
 package org.keycloak.testsuite.auth.page.login;
 
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 
@@ -35,7 +35,7 @@ public class VerifyEmail extends Authenticate {
     private WebElement instruction;
     
     public String getInstructionMessage() {
-        waitGuiForElement(instruction);
+        waitUntilElement(instruction).is().present();
         return instruction.getText();
     }
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealm.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealm.java
index 852133b..0c7596d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealm.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealm.java
@@ -3,8 +3,7 @@ package org.keycloak.testsuite.console.page;
 import org.keycloak.admin.client.resource.RealmResource;
 import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
 
-import org.keycloak.testsuite.util.WaitUtils;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
@@ -39,7 +38,7 @@ public class AdminConsoleRealm extends AdminConsoleRealmsRoot {
     private ConfigureMenu configureMenu;
 
     public ConfigureMenu configure() {
-        waitGuiForElement(By.xpath("//div[./h2[text()='Configure']]"));
+        waitUntilElement(By.xpath("//div[./h2[text()='Configure']]")).is().present();
         return configureMenu;
     }
 
@@ -92,7 +91,7 @@ public class AdminConsoleRealm extends AdminConsoleRealmsRoot {
     protected ManageMenu manageMenu;
 
     public ManageMenu manage() {
-        WaitUtils.waitGuiForElement(By.xpath("//div[./h2[text()='Manage']]"));
+        waitUntilElement(By.xpath("//div[./h2[text()='Manage']]")).is().present();
         return manageMenu;
     }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/Authentication.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/Authentication.java
index f15d37e..fd700ba 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/Authentication.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/Authentication.java
@@ -24,12 +24,12 @@ public class Authentication extends AdminConsoleRealm {
     private WebElement close;
     
     public String getSuccessMessage() {
-        waitAjaxForElement(success);
+        waitUntilElement(success).is().present();
         return success.getText();
     }
     
     public String getErrorMessage() {
-        waitAjaxForElement(error);
+        waitUntilElement(error).is().present();
         return error.getText();
     }
     
@@ -37,7 +37,7 @@ public class Authentication extends AdminConsoleRealm {
         if (close.isDisplayed()) {
             close.click();
         }
-        waitAjaxForElementNotVisible(close);
+        waitUntilElement(close).is().not().visible();
     }
     
     public AuthenticationTabs tabs() {
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/flows/FlowsTable.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/flows/FlowsTable.java
index ad64d37..03c008e 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/flows/FlowsTable.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/flows/FlowsTable.java
@@ -21,7 +21,7 @@
  */
 package org.keycloak.testsuite.console.page.authentication.flows;
 
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
@@ -71,7 +71,7 @@ public class FlowsTable {
     
     private WebElement getRowByLabelText(String text) {
         WebElement row = tbody.findElement(By.xpath("//span[text() = '" + text + "']/../.."));
-        waitAjaxForElement(row);
+        waitUntilElement(row).is().present();
         return row;
     }
     
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
index 818ff5d..81e0f2d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
@@ -8,7 +8,7 @@ import org.openqa.selenium.support.ui.Select;
 
 import java.util.List;
 
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 
 /**
  * @author Petr Mensik
@@ -32,7 +32,7 @@ public class PasswordPolicy extends Authentication {
     private List<WebElement> allRows;
 
     public void addPolicy(PasswordPolicy.Type policy, String value) {
-        waitGuiForElement(addPolicySelectElement);
+        waitUntilElement(addPolicySelectElement).is().present();
         addPolicySelect.selectByVisibleText(policy.getName());
         setPolicyValue(policy, value);
         primaryButton.click();
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/ClientMappers.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/ClientMappers.java
index 10fb7e5..cff0c23 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/ClientMappers.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/ClientMappers.java
@@ -38,17 +38,17 @@ public class ClientMappers extends Client {
         }
 
         public void createMapper() {
-            waitAjaxForBody();
+            waitForBody();
             clickHeaderLink(CREATE);
         }
 
         public void addBuiltin() {
-            waitAjaxForBody();
+            waitForBody();
             clickHeaderLink(ADD_BUILTIN);
         }
 
         public void clickMapper(String mapperName) {
-            waitAjaxForBody();
+            waitForBody();
             body().findElement(By.linkText(mapperName)).click();
         }
 
@@ -57,7 +57,7 @@ public class ClientMappers extends Client {
         }
 
         private void clickMapperActionButton(String mapperName, String buttonText) {
-            waitAjaxForBody();
+            waitForBody();
             clickRowActionButton(getRowByLinkText(mapperName), buttonText);
         }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/Clients.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/Clients.java
index 6f9cccd..494b3fe 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/Clients.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/Clients.java
@@ -62,32 +62,32 @@ public class Clients extends AdminConsoleRealm {
         }
 
         public void createClient() {
-            waitAjaxForBody();
+            waitForBody();
             clickHeaderLink(CREATE);
         }
 
         public void importClient() {
-            waitAjaxForBody();
+            waitForBody();
             clickHeaderLink(IMPORT);
         }
 
         public void clickClient(ClientRepresentation client) {
-            waitAjaxForBody();
+            waitForBody();
             clickClient(client.getClientId());
         }
 
         public void clickClient(String clientId) {
-            waitAjaxForBody();
+            waitForBody();
             body().findElement(linkText(clientId)).click();
         }
 
         public void editClient(String clientId) {
-            waitAjaxForBody();
+            waitForBody();
             clickRowActionButton(getRowByLinkText(clientId), EDIT);
         }
 
         public void deleteClient(String clientId) {
-            waitAjaxForBody();
+            waitForBody();
             clickRowActionButton(getRowByLinkText(clientId), DELETE);
         }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java
index 2be0435..88e6ed5 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java
@@ -8,7 +8,7 @@ import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
 import org.keycloak.testsuite.page.Form;
 import static org.keycloak.testsuite.page.Form.getInputValue;
 import static org.keycloak.testsuite.util.WaitUtils.pause;
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.keycloak.testsuite.util.Timer;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
@@ -69,7 +69,7 @@ public class CreateClientForm extends Form {
     private List<WebElement> deleteRedirectUriIcons;
 
     public void setValues(ClientRepresentation client) {
-        waitAjaxForElement(clientIdInput);
+        waitUntilElement(clientIdInput).is().present();
 
         setClientId(client.getClientId());
         setName(client.getName());
@@ -230,7 +230,7 @@ public class CreateClientForm extends Form {
     }
 
     public String getProtocol() {
-        waitAjaxForElement(protocolSelect.getFirstSelectedOption());
+        waitUntilElement(protocolSelect.getFirstSelectedOption()).is().present();
         return protocolSelect.getFirstSelectedOption().getText();
     }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/AdminEvents.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/AdminEvents.java
index 8cf2afc..a0826e1 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/AdminEvents.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/AdminEvents.java
@@ -33,17 +33,17 @@ public class AdminEvents extends Events {
         private AdminEventsTableFilterForm filterForm;
 
         public void update() {
-            waitAjaxForBody();
+            waitForBody();
             clickHeaderButton("Update");
         }
 
         public void reset() {
-            waitAjaxForBody();
+            waitForBody();
             clickHeaderButton("Reset");
         }
 
         public void filter() {
-            waitAjaxForBody();
+            waitForBody();
             filterButton.click();
         }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/Config.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/Config.java
index fc22df1..49aa48a 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/Config.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/Config.java
@@ -104,7 +104,7 @@ public class Config extends Events {
         }
         
         public void waitForClearEventsButtonPresent() {
-            waitAjaxForElement(clearLoginEventsButton);
+            waitUntilElement(clearLoginEventsButton).is().present();
         }
     }
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/LoginEvents.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/LoginEvents.java
index 136e455..f519317 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/LoginEvents.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/LoginEvents.java
@@ -33,17 +33,17 @@ public class LoginEvents extends Events {
         private LoginEventsTableFilterForm filterForm;
 
         public void update() {
-            waitAjaxForBody();
+            waitForBody();
             clickHeaderButton("Update");
         }
 
         public void reset() {
-            waitAjaxForBody();
+            waitForBody();
             clickHeaderButton("Reset");
         }
 
         public void filter() {
-            waitAjaxForBody();
+            waitForBody();
             filterButton.click();
         }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/KerberosUserProviderForm.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/KerberosUserProviderForm.java
index 1fb068f..41e62c9 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/KerberosUserProviderForm.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/KerberosUserProviderForm.java
@@ -1,6 +1,6 @@
 package org.keycloak.testsuite.console.page.federation;
 
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 
 import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
 import org.keycloak.testsuite.page.Form;
@@ -50,7 +50,7 @@ public class KerberosUserProviderForm extends Form {
     }
 
     public void setKerberosRealmInput(String kerberosRealm) {
-        waitGuiForElement(By.id("kerberosRealm"));
+        waitUntilElement(By.id("kerberosRealm")).is().present();
         setInputValue(kerberosRealmInput, kerberosRealm);
     }
 
@@ -71,7 +71,7 @@ public class KerberosUserProviderForm extends Form {
     }
 
     public void selectEditMode(String mode) {
-        waitGuiForElement(By.id("editMode"));
+        waitUntilElement(By.id("editMode")).is().present();
         editModeSelect.selectByVisibleText(mode);
     }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
index 3acc5ec..5a34641 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
@@ -1,7 +1,7 @@
 package org.keycloak.testsuite.console.page.federation;
 
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 
 import org.jboss.arquillian.graphene.findby.FindByJQuery;
 import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
@@ -156,17 +156,14 @@ public class LdapUserProviderForm extends Form {
     }
 
     public void setKerberosRealmInput(String kerberosRealm) {
-        waitAjaxForElement(kerberosRealmInput);
         setInputValue(kerberosRealmInput, kerberosRealm);
     }
 
     public void setServerPrincipalInput(String serverPrincipal) {
-        waitAjaxForElement(serverPrincipalInput);
         setInputValue(serverPrincipalInput, serverPrincipal);
     }
 
     public void setKeyTabInput(String keyTab) {
-        waitAjaxForElement(keyTabInput);
         setInputValue(keyTabInput, keyTab);
     }
 
@@ -175,22 +172,22 @@ public class LdapUserProviderForm extends Form {
     }
 
     public void selectEditMode(String mode) {
-        waitGuiForElement(By.id("editMode"));
+        waitUntilElement(By.id("editMode")).is().present();
         editModeSelect.selectByVisibleText(mode);
     }
 
     public void selectVendor(String vendor) {
-        waitGuiForElement(By.id("vendor"));
+        waitUntilElement(By.id("vendor")).is().present();
         vendorSelect.selectByVisibleText(vendor);
     }
 
     public void selectAuthenticationType(String authenticationType) {
-        waitGuiForElement(By.id("authType"));
+        waitUntilElement(By.id("authType")).is().present();
         authTypeSelect.selectByVisibleText(authenticationType);
     }
 
     public void selectSearchScope(String searchScope) {
-        waitGuiForElement(By.id("searchScope"));
+        waitUntilElement(By.id("searchScope")).is().present();
         searchScopeSelect.selectByVisibleText(searchScope);
     }
 
@@ -248,7 +245,7 @@ public class LdapUserProviderForm extends Form {
     }
 
     public void synchronizeAllUsers() {
-        waitAjaxForElement(synchronizeAllUsersButton);
+        waitUntilElement(synchronizeAllUsersButton).is().present();
         synchronizeAllUsersButton.click();
     }
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/UserFederation.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/UserFederation.java
index b209b81..c0dd078 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/UserFederation.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/federation/UserFederation.java
@@ -5,7 +5,7 @@ import org.keycloak.testsuite.console.page.AdminConsoleRealm;
 import org.openqa.selenium.By;
 import org.openqa.selenium.support.ui.Select;
 
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 
 /**
  * Created by fkiss.
@@ -21,7 +21,7 @@ public class UserFederation extends AdminConsoleRealm {
     private Select addProviderSelect;
 
     public void addProvider(String provider) {
-        waitGuiForElement(By.cssSelector("select[ng-model*='selectedProvider']"));
+        waitUntilElement(By.cssSelector("select[ng-model*='selectedProvider']")).is().present();
         addProviderSelect.selectByVisibleText(provider);
     }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java
index d049d2e..af864fd 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java
@@ -2,7 +2,7 @@ package org.keycloak.testsuite.console.page.fragment;
 
 import java.util.List;
 import static org.keycloak.testsuite.util.WaitUtils.pause;
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.By;
 import static org.openqa.selenium.By.xpath;
 import org.openqa.selenium.WebElement;
@@ -30,18 +30,18 @@ public class DataTable {
     private WebElement infoRow;
 
     public void search(String pattern) {
-        waitAjaxForBody();
+        waitForBody();
         searchInput.sendKeys(pattern);
         searchButton.click();
     }
 
     public void clickHeaderButton(String buttonText) {
-        waitAjaxForBody();
+        waitForBody();
         header.findElement(By.xpath(".//button[text()='" + buttonText + "']")).click();
     }
 
     public void clickHeaderLink(String linkText) {
-        waitAjaxForBody();
+        waitForBody();
         header.findElement(By.linkText(linkText)).click();
     }
 
@@ -49,19 +49,19 @@ public class DataTable {
         return body;
     }
 
-    public void waitAjaxForBody() {
-        waitAjaxForElement(body);
+    public void waitForBody() {
+        waitUntilElement(body).is().present();
     }
 
     public List<WebElement> rows() {
-        waitAjaxForBody();
+        waitForBody();
         pause(250);
         return rows;
     }
 
     public WebElement getRowByLinkText(String text) {
         WebElement row = body.findElement(By.xpath(".//tr[./td/a[text()='" + text + "']]"));
-        waitAjaxForElement(row);
+        waitUntilElement(row).is().present();
         return row;
     }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Menu.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Menu.java
index 577259c..1b4eaf8 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Menu.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Menu.java
@@ -18,7 +18,7 @@
 package org.keycloak.testsuite.console.page.fragment;
 
 import java.util.List;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.By;
 
 import org.openqa.selenium.WebElement;
@@ -53,7 +53,7 @@ public class Menu {
     }
 
     public String getCurrentRealm() {
-        waitGuiForElement(By.cssSelector(MENU_LOCATOR));
+        waitUntilElement(By.cssSelector(MENU_LOCATOR)).is().present();
         return toggle.get(1).getText();
     }
 
@@ -67,7 +67,7 @@ public class Menu {
                 menuOrder = 0;
                 break;
         }
-        waitGuiForElement(By.cssSelector(MENU_LOCATOR));
+        waitUntilElement(By.cssSelector(MENU_LOCATOR)).is().present();
         if (!menuList.get(menuOrder).isDisplayed()) {
             toggle.get(menuOrder).click();
         }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java
index 36677b4..4db28a0 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java
@@ -1,6 +1,6 @@
 package org.keycloak.testsuite.console.page.fragment;
 
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 
@@ -21,22 +21,22 @@ public class ModalDialog {
     private WebElement nameInput;
 
     public void ok() {
-        waitAjaxForElement(okButton);
+        waitUntilElement(okButton).is().present();
         okButton.click();
     }
     
     public void confirmDeletion() {
-        waitAjaxForElement(deleteButton);
+        waitUntilElement(deleteButton).is().present();
         deleteButton.click();
     }
 
     public void cancel() {
-        waitAjaxForElement(cancelButton);
+        waitUntilElement(cancelButton).is().present();
         cancelButton.click();
     }
     
     public void setName(String name) {
-        waitAjaxForElement(nameInput);
+        waitUntilElement(nameInput).is().present();
         nameInput.clear();
         nameInput.sendKeys(name);
     }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/OnOffSwitch.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/OnOffSwitch.java
index 118e058..d8c595e 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/OnOffSwitch.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/OnOffSwitch.java
@@ -19,7 +19,7 @@ package org.keycloak.testsuite.console.page.fragment;
 
 import org.jboss.arquillian.graphene.fragment.Root;
 import org.jboss.arquillian.test.api.ArquillianResource;
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.interactions.Actions;
@@ -45,12 +45,12 @@ public class OnOffSwitch {
     }
 
     public boolean isOn() {
-        waitAjaxForElement(root);
+        waitUntilElement(root).is().present();
         return root.findElement(By.tagName("input")).isSelected();
     }
 
     private void click() {
-        waitAjaxForElement(root);
+        waitUntilElement(root).is().present();
         actions.moveToElement(root.findElements(By.tagName("span")).get(0))
                 .click().build().perform();
     }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/realm/ThemeSettings.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/realm/ThemeSettings.java
index 3a4acde..c716086 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/realm/ThemeSettings.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/realm/ThemeSettings.java
@@ -20,7 +20,7 @@ package org.keycloak.testsuite.console.page.realm;
 import org.openqa.selenium.support.FindBy;
 import org.openqa.selenium.support.ui.Select;
 
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.By;
 
 /**
@@ -47,7 +47,7 @@ public class ThemeSettings extends RealmSettings {
     private Select emailThemeSelect;
 
     public void changeLoginTheme(String themeName) {
-        waitGuiForElement(By.id("loginTheme"));
+        waitUntilElement(By.id("loginTheme")).is().present();
         loginThemeSelect.selectByVisibleText(themeName);
     }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/realm/TokenSettings.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/realm/TokenSettings.java
index fc9ad0a..abeddb5 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/realm/TokenSettings.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/realm/TokenSettings.java
@@ -23,7 +23,7 @@ import org.openqa.selenium.support.FindBy;
 import org.openqa.selenium.support.ui.Select;
 
 import static java.lang.String.valueOf;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import static org.apache.commons.lang3.text.WordUtils.capitalize;
 import org.jboss.arquillian.graphene.page.Page;
 import org.keycloak.testsuite.page.Form;
@@ -70,7 +70,7 @@ public class TokenSettings extends RealmSettings {
 
         private void setTimeout(Select timeoutElement, WebElement unitElement,
                 int timeout, TimeUnit unit) {
-            waitGuiForElement(sessionTimeout);
+            waitUntilElement(sessionTimeout).is().present();
             timeoutElement.selectByValue(capitalize(unit.name().toLowerCase()));
             unitElement.clear();
             unitElement.sendKeys(valueOf(timeout));
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java
index 876b45b..9dc25c7 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java
@@ -9,7 +9,7 @@ import java.util.Map;
 import java.util.Set;
 import org.keycloak.representations.idm.RoleRepresentation.Composites;
 import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
@@ -127,7 +127,7 @@ public class RoleCompositeRoles extends Form {
 
     // *** original methods ***
     public void addAvailableRole(String... roles) {
-        waitGuiForElement(By.id("available"));
+        waitUntilElement(By.id("available")).is().present();
         for (String role : roles) {
             availableRealmRolesSelect.selectByVisibleText(role);
             addSelectedRealmRolesButton.click();
@@ -135,13 +135,13 @@ public class RoleCompositeRoles extends Form {
     }
 
     public void removeAssignedRole(String role) {
-        waitGuiForElement(By.id("assigned"));
+        waitUntilElement(By.id("assigned")).is().present();
         assignedRealmRolesSelect.selectByVisibleText(role);
         removeSelectedRealmRolesButton.click();
     }
 
     public boolean isAssignedRole(String role) {
-        waitGuiForElement(By.id("assigned"));
+        waitUntilElement(By.id("assigned")).is().present();
         try {
             assignedRealmRolesSelect.selectByVisibleText(role);
         } catch (Exception ex) {
@@ -151,7 +151,7 @@ public class RoleCompositeRoles extends Form {
     }
 
     public boolean isAssignedClientRole(String role) {
-        waitGuiForElement(By.id("assigned"));
+        waitUntilElement(By.id("assigned")).is().present();
         try {
             assignedClientRolesSelect.selectByVisibleText(role);
         } catch (Exception ex) {
@@ -161,12 +161,12 @@ public class RoleCompositeRoles extends Form {
     }
 
     public void selectClientRole(String client) {
-        waitGuiForElement(By.id("clients"));
+        waitUntilElement(By.id("clients")).is().present();
         clientSelect.selectByVisibleText(client);
     }
 
     public void addAvailableClientRole(String... roles) {
-        waitGuiForElement(By.id("available-client"));
+        waitUntilElement(By.id("available-client")).is().present();
         for (String role : roles) {
             availableClientRolesSelect.selectByVisibleText(role);
             addSelectedClientRolesButton.click();
@@ -174,7 +174,7 @@ public class RoleCompositeRoles extends Form {
     }
 
     public void removeAssignedClientRole(String client) {
-        waitGuiForElement(By.id("assigned-client"));
+        waitUntilElement(By.id("assigned-client")).is().present();
         assignedClientRolesSelect.selectByVisibleText(client);
         removeSelectedClientRolesButton.click();
     }
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/roles/RolesTable.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/roles/RolesTable.java
index b215844..3bec08d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/roles/RolesTable.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/roles/RolesTable.java
@@ -28,7 +28,7 @@ public class RolesTable extends DataTable {
     }
 
     public void clickRole(String name) {
-        waitAjaxForBody();
+        waitForBody();
         clickRowByLinkText(name);
     }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/users/UserAttributesForm.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/users/UserAttributesForm.java
index e508e71..4050f7d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/users/UserAttributesForm.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/users/UserAttributesForm.java
@@ -4,7 +4,7 @@ import java.util.List;
 import org.keycloak.representations.idm.UserRepresentation;
 import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
 import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 import org.openqa.selenium.support.ui.Select;
@@ -125,7 +125,7 @@ public class UserAttributesForm extends Form {
     }
 
     public void setValues(UserRepresentation user) {
-        waitAjaxForElement(usernameInput);
+        waitUntilElement(usernameInput).is().present();
         setUsername(user.getUsername());
         setEmail(user.getEmail());
         setFirstName(user.getFirstName());
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/users/Users.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/users/Users.java
index 3b1d730..d5ffcb5 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/users/Users.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/users/Users.java
@@ -27,7 +27,7 @@ import org.keycloak.representations.idm.UserRepresentation;
 
 import org.keycloak.testsuite.console.page.AdminConsoleRealm;
 import org.keycloak.testsuite.console.page.fragment.DataTable;
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import static org.openqa.selenium.By.*;
 
 /**
@@ -73,7 +73,7 @@ public class Users extends AdminConsoleRealm {
         }
 
         public void clickUser(String username) {
-            waitAjaxForElement(body());
+            waitUntilElement(body()).is().present();
             body().findElement(linkText(username)).click();
         }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractAlert.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractAlert.java
index f236384..cad5e26 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractAlert.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractAlert.java
@@ -4,7 +4,7 @@ import com.google.common.base.Predicate;
 import static org.jboss.arquillian.graphene.Graphene.waitModel;
 import org.jboss.arquillian.graphene.fragment.Root;
 import org.jboss.logging.Logger;
-import static org.keycloak.testsuite.util.WaitUtils.waitGuiForElementPresent;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 
@@ -20,7 +20,7 @@ public abstract class AbstractAlert {
     protected WebElement root;
 
     public void waitUntilPresent() {
-        waitGuiForElementPresent(root, "Flash message should be visible.");
+        waitUntilElement(root, "Flash message should be present.").is().present();
     }
 
     public void waitUntilPresentAndClassSet() {
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/Form.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/Form.java
index eee8a21..7f664c7 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/Form.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/Form.java
@@ -3,7 +3,7 @@ package org.keycloak.testsuite.page;
 import org.jboss.arquillian.drone.api.annotation.Drone;
 import static org.jboss.arquillian.graphene.Graphene.guardAjax;
 import org.jboss.logging.Logger;
-import static org.keycloak.testsuite.util.WaitUtils.waitAjaxForElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
@@ -36,14 +36,14 @@ public class Form {
     }
 
     public static String getInputValue(WebElement input) {
-        waitAjaxForElement(input);
+        waitUntilElement(input).is().present();
         return input.getAttribute(VALUE);
     }
 
     public static final String VALUE = "value";
 
     public static void setInputValue(WebElement input, String value) {
-        waitAjaxForElement(input);
+        waitUntilElement(input).is().present();
         if (input.isEnabled()) {
             input.clear();
             if (value != null) {
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java
index 14826c3..7c6a230 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java
@@ -19,8 +19,8 @@ package org.keycloak.testsuite.util;
 
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import static org.jboss.arquillian.graphene.Graphene.waitAjax;
 import static org.jboss.arquillian.graphene.Graphene.waitGui;
+import org.jboss.arquillian.graphene.wait.ElementBuilder;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
 
@@ -35,38 +35,16 @@ public final class WaitUtils {
 
     public static final Integer PAGELOAD_TIMEOUT = Integer.parseInt(System.getProperty(PAGELOAD_TIMEOUT_PROP, "60000"));
 
-    public static void waitAjaxForElement(WebElement element) {
-        waitAjax()
-                .until().element(element).is().present();
+    public static ElementBuilder<Void> waitUntilElement(By by) {
+        return waitGui().until().element(by);
     }
 
-    public static void waitAjaxForElementNotPresent(WebElement element) {
-        waitAjax()
-                .until().element(element).is().not().present();
+    public static ElementBuilder<Void> waitUntilElement(WebElement element) {
+        return waitGui().until().element(element);
     }
 
-    public static void waitAjaxForElementNotVisible(WebElement element) {
-        waitAjax()
-                .until().element(element).is().not().visible();
-    }
-
-    public static void waitGuiForElement(By element) {
-        waitGui()
-                .until().element(element).is().present();
-    }
-
-    public static void waitGuiForElement(WebElement element) {
-        waitGuiForElementPresent(element, null);
-    }
-
-    public static void waitGuiForElementPresent(WebElement element, String message) {
-        waitGui()
-                .until(message).element(element).is().present();
-    }
-
-    public static void waitGuiForElementNotPresent(WebElement element) {
-        waitGui()
-                .until().element(element).is().not().present();
+    public static ElementBuilder<Void> waitUntilElement(WebElement element, String failMessage) {
+        return waitGui().until(failMessage).element(element);
     }
 
     public static void pause(long millis) {