1 package androidtest
.models
;
5 import io
.appium
.java_client
.android
.AndroidDriver
;
6 import io
.appium
.java_client
.android
.AndroidElement
;
7 import io
.appium
.java_client
.pagefactory
.AndroidFindBy
;
8 import io
.appium
.java_client
.pagefactory
.AppiumFieldDecorator
;
10 import org
.openqa
.selenium
.NoSuchElementException
;
11 import org
.openqa
.selenium
.support
.CacheLookup
;
12 import org
.openqa
.selenium
.support
.PageFactory
;
14 import androidtest
.actions
.Actions
;
16 public class MainView
{
17 final AndroidDriver driver
;
19 @AndroidFindBy(uiAutomator
= "new UiSelector().description(\"More options\")")
20 private AndroidElement menuButton
;
23 @AndroidFindBy(id
= "com.owncloud.android:id/list_root")
24 private AndroidElement filesLayout
;
27 @AndroidFindBy(uiAutomator
= "new UiSelector().resourceId(\"android:id/action_bar_title\")")
28 private AndroidElement titleText
;
30 @AndroidFindBy(id
= "android:id/progress_circular")
31 private AndroidElement progressCircular
;
34 @AndroidFindBy(uiAutomator
= "new UiSelector().description(\"New folder\")")
35 private AndroidElement newFolderButton
;
38 @AndroidFindBy(uiAutomator
= "new UiSelector().description(\"Upload\")")
39 private AndroidElement uploadButton
;
41 private AndroidElement waitAMomentText
;
43 @AndroidFindBy(id
= "com.owncloud.android:id/ListItemLayout")
44 private List
<AndroidElement
> listItemLayout
;
46 @AndroidFindBy(id
= "com.owncloud.android:id/list_root")
47 private AndroidElement listRootLayout
;
49 @AndroidFindBy(name
= "Files")
50 private AndroidElement filesElementUploadFile
;
52 private AndroidElement fileElement
;
54 private AndroidElement fileElementLayout
;
56 private static String localFileIndicator
= "com.owncloud.android:id/localFileIndicator";
57 private static String favoriteFileIndicator
= "com.owncloud.android:id/favoriteIcon";
60 public MainView (AndroidDriver driver
) {
62 PageFactory
.initElements(new AppiumFieldDecorator(driver
), this);
65 public MenuList
clickOnMenuButton () {
67 MenuList menuList
= new MenuList (driver
);
71 public SettingsView
getSettingsView () {
72 SettingsView settingsView
= new SettingsView(driver
);
76 public NewFolderPopUp
clickOnNewFolderButton () {
77 newFolderButton
.click();
78 NewFolderPopUp newFolderPopUp
= new NewFolderPopUp(driver
);
79 return newFolderPopUp
;
82 public void clickOnUploadButton () {
86 public FilesView
clickOnFilesElementUploadFile () {
87 filesElementUploadFile
.click();
88 FilesView filesView
= new FilesView(driver
);
92 public AndroidElement
getTitleTextElement () {
96 public AndroidElement
getWaitAMomentTextElement () {
97 return waitAMomentText
;
100 public AndroidElement
getListRootElement () {
101 return listRootLayout
;
104 public List
<AndroidElement
> getListItemLayout () {
105 return listItemLayout
;
108 public AndroidElement
getFileElement () {
112 public ElementMenuOptions
longPressOnElement (String elementName
) {
113 scrollTillFindElement(elementName
).tap(1, 1000);
114 //fileElement.tap(1, 1000);
115 ElementMenuOptions menuOptions
= new ElementMenuOptions(driver
);
119 public AndroidElement
scrollTillFindElement (String elementName
) {
120 fileElement
= Actions
.scrollTillFindElement (elementName
,filesLayout
,driver
);
122 fileElementLayout
= (AndroidElement
) driver
.findElementByAndroidUIAutomator("new UiSelector().description(\"LinearLayout-"+ elementName
+"\")");
123 } catch (NoSuchElementException e
) {
124 fileElementLayout
= null
;
129 public AndroidElement
getFileElementLayout () {
130 return fileElementLayout
;
133 public AndroidElement
getProgressCircular () {
134 return progressCircular
;
137 public static String
getLocalFileIndicator() {
138 return localFileIndicator
;
141 public static String
getFavoriteFileIndicator() {
142 return favoriteFileIndicator
;