View Javadoc

1   package com.atlassian.pageobjects.elements.test;
2   
3   import com.atlassian.pageobjects.browser.Browser;
4   import com.atlassian.pageobjects.elements.GlobalElementFinder;
5   import com.atlassian.pageobjects.elements.PageElement;
6   import com.atlassian.pageobjects.elements.PageElementFinder;
7   import com.atlassian.pageobjects.elements.query.Poller;
8   import com.atlassian.pageobjects.elements.test.pageobjects.page.ElementsPage;
9   import com.atlassian.webdriver.testing.annotation.IgnoreBrowser;
10  import org.junit.Before;
11  import org.junit.Test;
12  import org.openqa.selenium.By;
13  
14  import java.util.List;
15  
16  import static org.junit.Assert.assertEquals;
17  
18  @IgnoreBrowser(Browser.HTMLUNIT_NOJS)
19  public class TestFindStaleTimedElement extends AbstractPageElementBrowserTest
20  {
21      private PageElementFinder elementFinder;
22  
23      @Before
24      public void initFinder()
25      {
26          elementFinder = product.getPageBinder().bind(GlobalElementFinder.class);
27      }
28  
29      @Test
30      public void staleElementsShouldBeSuccessfullyLocated()
31      {
32          product.visit(ElementsPage.class);
33  
34          PageElement leafList = elementFinder.find(By.id("test10_leafList"));
35          // reload the element
36          elementFinder.find(By.id("test10_reloadChildListButton")).click();
37  
38          Poller.waitUntilTrue(leafList.timed().isPresent());
39          assertEquals(3, leafList.findAll(By.className("test10_item")).size());
40      }
41  
42      @Test
43      public void staleElementsInListShouldBeSuccessfullyLocated()
44      {
45          product.visit(ElementsPage.class);
46  
47          PageElement parent = elementFinder.find(By.id("test10_childList"));
48          List<PageElement> items = parent.findAll(By.className("test10_item"));
49  
50          // reload the items
51          elementFinder.find(By.id("test10_reloadChildElementsButton")).click();
52  
53          assertEquals(3, items.size());
54          Poller.waitUntilTrue(items.get(0).timed().isPresent());
55          Poller.waitUntilTrue(items.get(0).timed().hasText("Item 1"));
56          Poller.waitUntilTrue(items.get(1).timed().isPresent());
57          Poller.waitUntilTrue(items.get(1).timed().hasText("Item 2"));
58          Poller.waitUntilTrue(items.get(2).timed().isPresent());
59          Poller.waitUntilTrue(items.get(2).timed().hasText("Item 3"));
60      }
61  }