6971cc233fcab514db6792891f872a4973fc223c
[pub/Android/ownCloud.git] / automationTest / src / test / java / com / owncloud / android / test / ui / models / LoginForm.java
1 package com.owncloud.android.test.ui.models;
2
3 import org.openqa.selenium.support.CacheLookup;
4 import org.openqa.selenium.support.PageFactory;
5
6 import io.appium.java_client.android.AndroidDriver;
7 import io.appium.java_client.android.AndroidElement;
8 import io.appium.java_client.pagefactory.AndroidFindBy;
9 import io.appium.java_client.pagefactory.AppiumFieldDecorator;
10
11 public class LoginForm {
12 final AndroidDriver driver;
13
14 @CacheLookup
15 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Server address\")")
16 private AndroidElement hostUrlInput;
17
18 @CacheLookup
19 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Username\")")
20 private AndroidElement userNameInput;
21
22 @CacheLookup
23 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Password\")")
24 private AndroidElement passwordInput;
25
26 @CacheLookup
27 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Connect\")")
28 private AndroidElement connectButton;
29
30 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Testing connection\")")
31 private AndroidElement serverStatusText;
32
33 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Wrong username or password\")")
34 private AndroidElement authStatusText;
35
36 public LoginForm (AndroidDriver driver) {
37 this.driver = driver;
38 PageFactory.initElements(new AppiumFieldDecorator(driver), this);
39 }
40
41 public CertificatePopUp typeHostUrl (String hostUrl) {
42 hostUrlInput.clear();
43 hostUrlInput.sendKeys(hostUrl + "\n");
44 CertificatePopUp certificatePopUp = new CertificatePopUp(driver);
45 return certificatePopUp;
46 }
47
48 public void clickOnUserName () {
49 userNameInput.click();
50 }
51
52 public void typeUserName (String userName) {
53 userNameInput.clear();
54 //using the \n , it not need to hide the keyboard which sometimes gives problems
55 userNameInput.sendKeys(userName + "\n");
56 //driver.hideKeyboard();
57 }
58
59 public void typePassword (String password) {
60 passwordInput.clear();
61 passwordInput.sendKeys(password + "\n");
62 //driver.hideKeyboard();
63 }
64
65 public FileListView clickOnConnectButton () {
66 connectButton.click();
67 FileListView fileListView = new FileListView(driver);
68 return fileListView;
69 }
70
71 public AndroidElement gethostUrlInput () {
72 return hostUrlInput;
73 }
74
75 public AndroidElement getUserNameInput () {
76 return userNameInput;
77 }
78
79 public AndroidElement getPasswordInput () {
80 return passwordInput;
81 }
82
83
84 public AndroidElement getServerStatusTextElement () {
85 return serverStatusText;
86 }
87
88 public AndroidElement getAuthStatusText () {
89 return authStatusText;
90 }
91 }