diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/widget/PagingToolBar.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/widget/PagingToolBar.java index 51da591a05ec36bf99a1d6f3e00032f086925ed0..0d6ba180be29ba161f8023c72e483b31554840b8 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/widget/PagingToolBar.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/widget/PagingToolBar.java @@ -16,6 +16,13 @@ package ch.systemsx.cisd.openbis.uitest.widget; +import java.util.concurrent.TimeUnit; + +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.ui.FluentWait; + +import com.google.common.base.Predicate; + import ch.systemsx.cisd.openbis.uitest.infra.webdriver.WidgetContext; /** @@ -38,10 +45,23 @@ public class PagingToolBar implements Widget, Refreshable public void settings() { Button b = context.find(".//button[text()='Settings']", Button.class); - if (!b.isPressed()) - { - b.click(); - } + + new FluentWait<WebElement>(context) + { + + }.withTimeout(30, TimeUnit.SECONDS).pollingEvery(100, TimeUnit.MILLISECONDS).until( + new Predicate<WebElement>() + { + + @Override + public boolean apply(WebElement element) + { + System.out.println("waiting for paging toolbar to get enabled"); + return !context.getAttribute("class").contains("x-item-disabled"); + } + }); + + b.click(); } @Override diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/widget/SettingsDialog.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/widget/SettingsDialog.java index cb3532b4c4bf2b2b5c76949b32fda06d237a737f..b0e59a2f2f018c52d16fa204c71a5fa31b07ced9 100644 --- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/widget/SettingsDialog.java +++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/widget/SettingsDialog.java @@ -45,6 +45,10 @@ public class SettingsDialog implements Widget if (l.size() > 0) { l.get(0).click(); + } else + { + throw new IllegalStateException("Could not find column " + name + + " from settings dialog!"); } }