Merge branch 'develop' into automationTest
[pub/Android/ownCloud.git] / automationTest / src / test / java / androidtest / tests / UploadTestSuite.java
1 package androidtest.tests;
2
3
4 import io.appium.java_client.MobileBy;
5
6 import org.junit.After;
7 import org.junit.Before;
8 import org.junit.runners.MethodSorters;
9 import org.junit.FixMethodOrder;
10 import org.junit.Test;
11
12 import androidtest.actions.Actions;
13 import androidtest.models.AppDetailsView;
14 import androidtest.models.FilesView;
15 import androidtest.models.MainView;
16
17
18 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
19 public class UploadTestSuite extends CommonTest{
20
21 @Before
22 public void setUp() throws Exception {
23 setUpCommonDriver();
24 }
25
26 @Test
27 public void test1UploadFile () throws Exception {
28 String FILE_NAME = "test";
29
30 MainView mainView = login(Config.URL, Config.user,Config.password);
31 assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement()));
32 mainView.clickOnUploadButton();
33 FilesView filesView = mainView.clickOnFilesElementUploadFile();
34 filesView.clickOnFileName(FILE_NAME);
35 MainView mainViewAfterUploadFile = filesView.clickOnUploadButton();
36 //TO DO. detect when the file is successfully uploaded
37 Thread.sleep(3000);
38 mainViewAfterUploadFile.scrollTillFindElement(FILE_NAME);
39 assertTrue(mainViewAfterUploadFile.getFileElement().isDisplayed());
40 mainViewAfterUploadFile.tapOnFileElement(FILE_NAME);
41 mainViewAfterUploadFile.clickOnRemoveFileElement();
42 mainViewAfterUploadFile.clickOnRemoteAndLocalButton();
43 assertTrue(waitForTextPresent("Wait a moment" , mainViewAfterUploadFile.getWaitAMomentTextElement()));
44 while(mainViewAfterUploadFile.getWaitAMomentTextElement().isDisplayed()){}
45 Actions.deleteAccount(mainViewAfterUploadFile);
46
47 }
48
49 @Test
50 public void test2KeepFileUpToDate () throws Exception {
51 String FILE_NAME = "test";
52
53 MainView mainView = login(Config.URL, Config.user,Config.password);
54 assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement()));
55 mainView.clickOnUploadButton();
56 FilesView filesView = mainView.clickOnFilesElementUploadFile();
57 filesView.clickOnFileName(FILE_NAME);
58 MainView mainViewAfterUploadFile = filesView.clickOnUploadButton();
59 //TO DO. detect when the file is successfully uploaded
60 Thread.sleep(3000);
61 mainViewAfterUploadFile.scrollTillFindElement(FILE_NAME);
62 assertTrue(mainViewAfterUploadFile.getFileElement().isDisplayed());
63 mainViewAfterUploadFile.tapOnFileElement(FILE_NAME);
64 AppDetailsView appDetailsView = mainViewAfterUploadFile.clickOnDetailsFileElement();
65 appDetailsView.checkKeepFileUpToDateCheckbox();
66 //assertTrue(appDetailsView.getProgressBar().isDisplayed());
67 Thread.sleep(3000);
68 driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
69 assertTrue(isElementPresent(mainViewAfterUploadFile.getFileElementLayout(), MobileBy.id("com.owncloud.android:id/imageView3")));
70 mainViewAfterUploadFile.tapOnFileElement(FILE_NAME);
71 mainViewAfterUploadFile.clickOnRemoveFileElement();
72 mainViewAfterUploadFile.clickOnRemoteAndLocalButton();
73 assertTrue(waitForTextPresent("Wait a moment" , mainViewAfterUploadFile.getWaitAMomentTextElement()));
74 while(mainViewAfterUploadFile.getWaitAMomentTextElement().isDisplayed()){}
75 Actions.deleteAccount(mainViewAfterUploadFile);
76
77 }
78
79
80 @After
81 public void tearDown() throws Exception {
82 driver.removeApp("com.owncloud.android");
83 driver.quit();
84 }
85
86
87 }
88