upload a few automated test
[pub/Android/ownCloud.git] / automationTest / src / test / java / androidtest / models / FilesView.java
1 package androidtest.models;
2
3 import java.util.HashMap;
4
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;
9
10 import org.openqa.selenium.remote.RemoteWebElement;
11 import org.openqa.selenium.support.CacheLookup;
12 import org.openqa.selenium.support.PageFactory;
13
14 public class FilesView {
15 final AndroidDriver driver;
16
17 @CacheLookup
18 @AndroidFindBy(id = "com.owncloud.android:id/list_root")
19 private AndroidElement fileLayout;
20
21 @CacheLookup
22 @AndroidFindBy(id = "com.owncloud.android:id/upload_files_btn_upload")
23 private AndroidElement uploadButton;
24
25 private AndroidElement fileElement;
26
27 public FilesView (AndroidDriver driver) {
28 this.driver = driver;
29 PageFactory.initElements(new AppiumFieldDecorator(driver), this);
30 }
31
32 public MainView clickOnUploadButton () {
33 uploadButton.click();
34 MainView mainView = new MainView (driver);
35 return mainView;
36 }
37
38 public void scrollTillFindFile (String fileName) {
39 HashMap<String, String> scrollObject = new HashMap<String, String>();
40 scrollObject.put("text", fileName);
41 scrollObject.put("element", ( (RemoteWebElement) fileLayout).getId());
42 driver.executeScript("mobile: scrollTo", scrollObject);
43 fileElement = (AndroidElement) driver.findElementByName(fileName);
44 }
45
46 public void clickOnFileName (String fileName) {
47 scrollTillFindFile(fileName);
48 fileElement.click();
49 }
50 }