I was thinking about this a bit, and I could probably use a hidden form
field or some other DOM change to indicate the completion of the table load
- it might be more reliable.
On Monday, August 8, 2016 at 11:34:04 AM UTC-7, Kay Pac wrote:
>
> Does anyone have code for interacting with celltables in selenim tests?
>
> I have a selenium test and a CellTable that is filled with the results of
> an RPC call. The table displays a "loading" image until the rows are
> populated, and I need to wait for the "loaded" condition in my selenium
> test code. I notice that in the element tree there are two TBODY elements,
> a second one which is styled "display: none" when the table is loaded -
> this contains the loading image.
>
> I am using an xpath expression to find the second TBODY:
> "//*[@id='gwt-debug-gameDetailsTable']/tbody[2]"
> Here is the code I am using right now. Basically, if the table has already
> loaded prior to looking for the TBODY, everything is okay - isDIsplayed is
> false. But if it isn't, neither of these ExpectedConditions work, even
> though the first one only checks to see that it isn't displayed anymore. I
> am using HTMLUnit version 22 and selenium 2.53.1.
>
> WebElement tbody2 = driver.findElement(By.xpath("//*[@id='" +
> GWTID_GAMEDETAILSTABLE + "']/tbody[2]"));
> if(tbody2.isDisplayed())
> {
> try {
> logger.info("waiting for games table to load...");
> Boolean until = (new WebDriverWait(driver, 10)).until(new
> ExpectedCondition<Boolean>() {
> @Nullable
> @Override
> public Boolean apply(@Nullable WebDriver input) {
> return tbody2.isDisplayed() == false;
> }
> });
> //Boolean until = (new WebDriverWait(driver,
> 10)).until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("//*[@id='"
>
> + GWTID_GAMEDETAILSTABLE + "']/tbody[2]")));
> logger.info("until = {}", until);
> } catch(Exception ex)
> {
> logger.warn("{}", ex);
> }
> } else {
> logger.info("no need to wait for games table to load,
> 'loading' tbody is hidden");
> }
>
>
>
>
--
You received this message because you are subscribed to the Google Groups "GWT
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.