View Javadoc

1   package com.atlassian.webdriver.confluence.component.menu;
2   
3   import com.atlassian.pageobjects.PageBinder;
4   import com.atlassian.pageobjects.binder.Init;
5   import com.atlassian.webdriver.AtlassianWebDriver;
6   import com.atlassian.webdriver.confluence.page.LogoutPage;
7   import com.atlassian.webdriver.utils.by.ByJquery;
8   import org.openqa.selenium.By;
9   import org.openqa.selenium.WebElement;
10  import org.openqa.selenium.support.FindBy;
11  
12  import javax.inject.Inject;
13  
14  /**
15   * TODO: Document this class / interface here
16   *
17   */
18  public class ConfluenceUserMenu
19  {
20      private final By USER_MENU_LOCATOR = ByJquery.$("#user-menu-link").parent("li");
21  
22      @Inject
23      AtlassianWebDriver driver;
24  
25      @Inject
26      PageBinder pageBinder;
27  
28      @FindBy(id="logout-link")
29      private WebElement logoutLink;
30  
31  
32      private AjsDropdownMenu userMenu;
33  
34      @Init
35      public void initialise()
36      {
37          userMenu = pageBinder.bind(AjsDropdownMenu.class, USER_MENU_LOCATOR);
38      }
39  
40      public LogoutPage logout()
41      {
42          logoutLink.click();
43          return pageBinder.bind(LogoutPage.class);
44      }
45  
46      public ConfluenceUserMenu open()
47      {
48          userMenu.open();
49          return this;
50      }
51  
52      public boolean isOpen()
53      {
54          return userMenu.isOpen();
55      }
56  
57      public ConfluenceUserMenu close()
58      {
59          userMenu.close();
60          return this;
61      }
62  }