package org.qooxdoo.demo.desktopshowcase; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.oneandone.qxwebdriver.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.WebDriverWait; public class Table extends Desktopshowcase { public By tableLocator = By.qxh("qx.ui.container.Stack/qx.ui.container.Composite/qx.ui.window.Desktop/qx.ui.window.Window/qx.ui.table.Table"); public org.oneandone.qxwebdriver.ui.table.Table table = null; @Before public void setUp() throws Exception { selectPage("Table"); table = getTable(); } public org.oneandone.qxwebdriver.ui.table.Table getTable() { WebElement tableEl = getRoot().findElement(tableLocator); org.oneandone.qxwebdriver.ui.table.Table table = (org.oneandone.qxwebdriver.ui.table.Table) driver.getWidgetForElement(tableEl); return table; } public ExpectedCondition<Boolean> tableDataLoaded() { return new ExpectedCondition<Boolean>() { @Override public Boolean apply(WebDriver webDriver) { return table.getRowCount() > 1; } @Override public String toString() { return "Showcase page has finished loading."; } }; } public void waitUntilTableDataLoaded() { new WebDriverWait(driver, 20, 250).until(tableDataLoaded()); } @Test public void table() throws InterruptedException { Assert.assertTrue(table.isDisplayed()); waitUntilTableDataLoaded(); } }