View Javadoc

1   package it.com.atlassian.webdriver.confluence.test;
2   
3   import com.atlassian.pageobjects.browser.Browser;
4   import com.atlassian.pageobjects.page.LoginPage;
5   import com.atlassian.webdriver.confluence.ConfluenceTestedProduct;
6   import com.atlassian.webdriver.confluence.component.header.ConfluenceHeader;
7   import com.atlassian.webdriver.confluence.page.DashboardPage;
8   import com.atlassian.webdriver.testing.annotation.IgnoreBrowser;
9   import com.atlassian.webdriver.testing.rule.IgnoreBrowserRule;
10  import com.atlassian.webdriver.testing.rule.SessionCleanupRule;
11  import com.atlassian.webdriver.testing.rule.TestedProductRule;
12  import com.atlassian.webdriver.testing.rule.WebDriverScreenshotRule;
13  import org.junit.After;
14  import org.junit.Before;
15  import org.junit.Rule;
16  import org.junit.Test;
17  
18  import static org.junit.Assert.assertFalse;
19  import static org.junit.Assert.assertTrue;
20  
21  @IgnoreBrowser(value = {Browser.HTMLUNIT, Browser.HTMLUNIT_NOJS}, reason = "HtmlUnit and Raphael.js don't mix, logout via the header requires javascript")
22  // doesn't inherit from AbstractConfluenceWebTest so it doesn't log in before each test
23  public class TestConfluenceHeader
24  {
25      @Rule
26      public IgnoreBrowserRule ignoreRule = new IgnoreBrowserRule();
27      @Rule public TestedProductRule<ConfluenceTestedProduct> product =
28          new TestedProductRule<ConfluenceTestedProduct>(ConfluenceTestedProduct.class);
29      // enable TestBrowserRule (and make sure it's listed after IgnoreBrowserRule) if you want to be able to switch browsers mid-suite
30  //    @Rule public TestBrowserRule testBrowserRule = new TestBrowserRule();
31      @Rule public WebDriverScreenshotRule webDriverScreenshotRule = new WebDriverScreenshotRule();
32      @Rule public SessionCleanupRule sessionCleanupRule = new SessionCleanupRule();
33  
34      @Test
35      public void testLoginInfo()
36      {
37          ConfluenceHeader header = product.getTestedProduct().gotoLoginPage().loginAsSysAdmin(DashboardPage.class).getHeader();
38  
39          assertTrue(header.isAdmin());
40          assertTrue(header.isLoggedIn());
41      }
42  
43      @Test
44      public void testLogout()
45      {
46          ConfluenceHeader header = product.getTestedProduct().gotoHomePage().getHeader();
47          assertFalse(header.isAdmin());
48          assertFalse(header.isLoggedIn());
49      }
50  
51      @After
52      @Before
53      public void logout()
54      {
55          product.getTestedProduct().gotoHomePage().getHeader().logout(LoginPage.class);
56      }
57  }