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
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 }