X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/1d613754d64d1c25f37c0242cd940311c340b621..aa9abc55b4195e3dadd8f0985322e4f49b88c4b9:/automationTest/src/test/java/androidtest/models/MainView.java diff --git a/automationTest/src/test/java/androidtest/models/MainView.java b/automationTest/src/test/java/androidtest/models/MainView.java index 66523f9a..6228f0e3 100644 --- a/automationTest/src/test/java/androidtest/models/MainView.java +++ b/automationTest/src/test/java/androidtest/models/MainView.java @@ -1,6 +1,5 @@ package androidtest.models; -import java.util.HashMap; import java.util.List; import io.appium.java_client.android.AndroidDriver; @@ -8,14 +7,15 @@ import io.appium.java_client.android.AndroidElement; import io.appium.java_client.pagefactory.AndroidFindBy; import io.appium.java_client.pagefactory.AppiumFieldDecorator; -import org.openqa.selenium.remote.RemoteWebElement; +import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.support.CacheLookup; import org.openqa.selenium.support.PageFactory; +import androidtest.actions.Actions; + public class MainView { final AndroidDriver driver; - @CacheLookup @AndroidFindBy(uiAutomator = "new UiSelector().description(\"More options\")") private AndroidElement menuButton; @@ -27,8 +27,8 @@ public class MainView { @AndroidFindBy(uiAutomator = "new UiSelector().resourceId(\"android:id/action_bar_title\")") private AndroidElement titleText; - @AndroidFindBy(name = "Settings") - private AndroidElement settingsButton; + @AndroidFindBy(id = "android:id/progress_circular") + private AndroidElement progressCircular; @CacheLookup @AndroidFindBy(uiAutomator = "new UiSelector().description(\"New folder\")") @@ -38,12 +38,6 @@ public class MainView { @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Upload\")") private AndroidElement uploadButton; - @AndroidFindBy(uiAutomator = "new UiSelector().resourceId(\"com.owncloud.android:id/user_input\")") - private AndroidElement newFolderNameField; - - @AndroidFindBy(uiAutomator = "new UiSelector().resourceId(\"android:id/button1\")") - private AndroidElement newFolderOkButton; - private AndroidElement waitAMomentText; @AndroidFindBy(id = "com.owncloud.android:id/ListItemLayout") @@ -52,15 +46,6 @@ public class MainView { @AndroidFindBy(id = "com.owncloud.android:id/list_root") private AndroidElement listRootLayout; - @AndroidFindBy(name = "Remove") - private AndroidElement removeFileElement; - - @AndroidFindBy(name = "Details") - private AndroidElement detailsFileElement; - - @AndroidFindBy(name = "Remote and local") - private AndroidElement remoteAndLocalButton; - @AndroidFindBy(name = "Files") private AndroidElement filesElementUploadFile; @@ -68,27 +53,19 @@ public class MainView { private AndroidElement fileElementLayout; + private static String localFileIndicator = "com.owncloud.android:id/localFileIndicator"; + private static String favoriteFileIndicator = "com.owncloud.android:id/favoriteIcon"; + public MainView (AndroidDriver driver) { this.driver = driver; PageFactory.initElements(new AppiumFieldDecorator(driver), this); } - public void clickOnMenuButton () { - //TODO. DETECT WHEN HAPPENS WHEN THERE IS NOT BUTTON IN THE TOPBAR - //if(menuButton.exists()){ - //menuButton.click(); - //}else{ - //Thread.sleep(10000); - //getUiDevice().pressMenu(); - //} + public MenuList clickOnMenuButton () { menuButton.click(); - } - - public SettingsView clickOnSettingsButton () { - settingsButton.click(); - SettingsView settingsView = new SettingsView(driver); - return settingsView; + MenuList menuList = new MenuList (driver); + return menuList; } public SettingsView getSettingsView () { @@ -96,34 +73,10 @@ public class MainView { return settingsView; } - public void clickOnNewFolderButton () { + public NewFolderPopUp clickOnNewFolderButton () { newFolderButton.click(); - } - - public void clickOnRemoveFileElement () { - removeFileElement.click(); - } - - public AppDetailsView clickOnDetailsFileElement () { - detailsFileElement.click(); - AppDetailsView appDetailsView = new AppDetailsView(driver); - return appDetailsView; - } - - public void typeNewFolderName (String newFolderName) { - newFolderNameField.clear(); - newFolderNameField.sendKeys(newFolderName); - driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK); - } - - public void clickOnNewFolderOkButton () { - newFolderOkButton.click(); - waitAMomentText = (AndroidElement) driver.findElementByName("Wait a moment"); - } - - public void clickOnRemoteAndLocalButton () { - remoteAndLocalButton.click(); - waitAMomentText = (AndroidElement) driver.findElementByName("Wait a moment"); + NewFolderPopUp newFolderPopUp = new NewFolderPopUp(driver); + return newFolderPopUp; } public void clickOnUploadButton () { @@ -156,24 +109,38 @@ public class MainView { return fileElement; } - public void tapOnFileElement (String fileName) { - scrollTillFindElement(fileName); - fileElement.tap(1, 1000); + public ElementMenuOptions longPressOnElement (String elementName) { + scrollTillFindElement(elementName).tap(1, 1000); + //fileElement.tap(1, 1000); + ElementMenuOptions menuOptions = new ElementMenuOptions(driver); + return menuOptions; } - public AndroidElement scrollTillFindElement (String fileName) { - HashMap scrollObject = new HashMap(); - scrollObject.put("text", fileName); - scrollObject.put("element", ( (RemoteWebElement) filesLayout).getId()); - if(filesLayout.getAttribute("scrollable").equals("true")){ - driver.executeScript("mobile: scrollTo", scrollObject); + public AndroidElement scrollTillFindElement (String elementName) { + fileElement = Actions.scrollTillFindElement (elementName,filesLayout,driver); + try { + fileElementLayout = (AndroidElement) driver.findElementByAndroidUIAutomator("new UiSelector().description(\"LinearLayout-"+ elementName +"\")"); + } catch (NoSuchElementException e) { + fileElementLayout = null; } - fileElement = (AndroidElement) driver.findElementByName(fileName); - fileElementLayout = (AndroidElement) driver.findElementByAndroidUIAutomator("new UiSelector().description(\"LinearLayout-"+ fileName +"\")"); return fileElement; } public AndroidElement getFileElementLayout () { return fileElementLayout; } + + public AndroidElement getProgressCircular () { + return progressCircular; + } + + public static String getLocalFileIndicator() { + return localFileIndicator; + } + + public static String getFavoriteFileIndicator() { + return favoriteFileIndicator; + } + + }