X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/3aa425a7b576c2e74672eb3a8731cf03afd8f38d..a52fc9424444400d4c774b76cf9f59ba43f9dc12:/automationTest/src/test/java/androidtest/tests/UploadTestSuite.java diff --git a/automationTest/src/test/java/androidtest/tests/UploadTestSuite.java b/automationTest/src/test/java/androidtest/tests/UploadTestSuite.java index 4b1a5006..358024d7 100644 --- a/automationTest/src/test/java/androidtest/tests/UploadTestSuite.java +++ b/automationTest/src/test/java/androidtest/tests/UploadTestSuite.java @@ -1,88 +1,123 @@ package androidtest.tests; +import static org.junit.Assert.*; import io.appium.java_client.MobileBy; +import io.appium.java_client.android.AndroidDriver; import org.junit.After; import org.junit.Before; +import org.junit.Rule; +import org.junit.experimental.categories.Category; +import org.junit.rules.TestName; import org.junit.runners.MethodSorters; import org.junit.FixMethodOrder; import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.support.ui.ExpectedConditions; import androidtest.actions.Actions; +import androidtest.groups.FailingTestCategory; +import androidtest.groups.IgnoreTestCategory; +import androidtest.groups.NoIgnoreTestCategory; import androidtest.models.AppDetailsView; -import androidtest.models.FilesView; +import androidtest.models.ElementMenuOptions; +import androidtest.models.GmailEmailListView; +import androidtest.models.GmailEmailView; +import androidtest.models.ImageView; import androidtest.models.MainView; +import androidtest.models.UploadView; @FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class UploadTestSuite extends CommonTest{ +@Category({NoIgnoreTestCategory.class}) +public class UploadTestSuite{ + + AndroidDriver driver; + Common common; + String FILE_NAME = "test"; + + @Rule public TestName name = new TestName(); + @Before public void setUp() throws Exception { - setUpCommonDriver(); + common=new Common(); + driver=common.setUpCommonDriver(); } - + @Test - public void test1UploadFile () throws Exception { - String FILE_NAME = "test"; - - MainView mainView = login(Config.URL, Config.user,Config.password); - assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement())); - mainView.clickOnUploadButton(); - FilesView filesView = mainView.clickOnFilesElementUploadFile(); - filesView.clickOnFileName(FILE_NAME); - MainView mainViewAfterUploadFile = filesView.clickOnUploadButton(); - //TO DO. detect when the file is successfully uploaded - Thread.sleep(3000); + @Category(NoIgnoreTestCategory.class) + public void testUploadFile () throws Exception { + + MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver); + common.assertIsInMainView(); + + //check if the file already exists and if true, delete it + Actions.deleteElement(FILE_NAME, mainView, driver); + + MainView mainViewAfterUploadFile = Actions.uploadFile(FILE_NAME, mainView); + mainViewAfterUploadFile.scrollTillFindElement(FILE_NAME); assertTrue(mainViewAfterUploadFile.getFileElement().isDisplayed()); - mainViewAfterUploadFile.tapOnFileElement(FILE_NAME); - mainViewAfterUploadFile.clickOnRemoveFileElement(); - mainViewAfterUploadFile.clickOnRemoteAndLocalButton(); - assertTrue(waitForTextPresent("Wait a moment" , mainViewAfterUploadFile.getWaitAMomentTextElement())); - while(mainViewAfterUploadFile.getWaitAMomentTextElement().isDisplayed()){} - Actions.deleteAccount(mainViewAfterUploadFile); - + Common.waitTillElementIsNotPresent(mainViewAfterUploadFile.getProgressCircular(), 1000); + common.wait.until(ExpectedConditions.visibilityOf(mainViewAfterUploadFile.getFileElementLayout().findElement(By.id(MainView.getLocalFileIndicator())))); + + } @Test - public void test2KeepFileUpToDate () throws Exception { - String FILE_NAME = "test"; - - MainView mainView = login(Config.URL, Config.user,Config.password); - assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement())); - mainView.clickOnUploadButton(); - FilesView filesView = mainView.clickOnFilesElementUploadFile(); - filesView.clickOnFileName(FILE_NAME); - MainView mainViewAfterUploadFile = filesView.clickOnUploadButton(); - //TO DO. detect when the file is successfully uploaded - Thread.sleep(3000); + @Category(IgnoreTestCategory.class) + public void testUploadFromGmail () throws Exception { + MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver); + driver.startActivity("com.google.android.gm", ".ConversationListActivityGmail"); + GmailEmailListView gmailEmailListView = new GmailEmailListView(driver); + GmailEmailView gmailEmailView = gmailEmailListView.clickOnEmail(); + ImageView imageView = gmailEmailView.clickOnfileButton(); + imageView.clickOnOptionsButton(); + imageView.clickOnShareButton(); + imageView.clickOnOwnCloudButton(); + imageView.clickOnJustOnceButton(); + UploadView uploadView = new UploadView(driver); + uploadView.clickOUploadButton(); + driver.startActivity("com.owncloud.android", ".ui.activity.FileDisplayActivity"); + common.wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.name("test.jpg"))); + assertEquals("test.jpg" , driver.findElementByName("test.jpg").getText()); + } + + + @Test + @Category({IgnoreTestCategory.class, FailingTestCategory.class}) + public void testKeepFileUpToDate () throws Exception { + + MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver); + common.assertIsInMainView(); + + Common.waitTillElementIsNotPresent(mainView.getProgressCircular(), 1000); + + MainView mainViewAfterUploadFile = Actions.uploadFile(FILE_NAME, mainView); mainViewAfterUploadFile.scrollTillFindElement(FILE_NAME); assertTrue(mainViewAfterUploadFile.getFileElement().isDisplayed()); - mainViewAfterUploadFile.tapOnFileElement(FILE_NAME); - AppDetailsView appDetailsView = mainViewAfterUploadFile.clickOnDetailsFileElement(); + + ElementMenuOptions menuOptions = mainViewAfterUploadFile.longPressOnElement(FILE_NAME); + AppDetailsView appDetailsView = menuOptions.clickOnDetails(); appDetailsView.checkKeepFileUpToDateCheckbox(); - //assertTrue(appDetailsView.getProgressBar().isDisplayed()); Thread.sleep(3000); driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK); - assertTrue(isElementPresent(mainViewAfterUploadFile.getFileElementLayout(), MobileBy.id("com.owncloud.android:id/imageView3"))); - mainViewAfterUploadFile.tapOnFileElement(FILE_NAME); - mainViewAfterUploadFile.clickOnRemoveFileElement(); - mainViewAfterUploadFile.clickOnRemoteAndLocalButton(); - assertTrue(waitForTextPresent("Wait a moment" , mainViewAfterUploadFile.getWaitAMomentTextElement())); - while(mainViewAfterUploadFile.getWaitAMomentTextElement().isDisplayed()){} - Actions.deleteAccount(mainViewAfterUploadFile); - + assertTrue(common.isElementPresent(mainViewAfterUploadFile.getFileElementLayout(), MobileBy.id(MainView.getFavoriteFileIndicator()))); + } - - + + @After public void tearDown() throws Exception { + common.takeScreenShotOnFailed(name.getMethodName()); + MainView mainView = new MainView(driver); + Actions.deleteElement(FILE_NAME,mainView, driver); driver.removeApp("com.owncloud.android"); driver.quit(); } - + }