add new test cases
[pub/Android/ownCloud.git] / automationTest / src / test / java / androidtest / models / LoginForm.java
1 package androidtest.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 userNameInput.sendKeys(userName);
55 driver.hideKeyboard();
56 }
57
58 public void typePassword (String password) {
59 passwordInput.clear();
60 passwordInput.sendKeys(password);
61 driver.hideKeyboard();
62 }
63
64 public MainView clickOnConnectButton () {
65 connectButton.click();
66 MainView mainView = new MainView(driver);
67 return mainView;
68 }
69
70 public AndroidElement gethostUrlInput () {
71 return hostUrlInput;
72 }
73
74 public AndroidElement getUserNameInput () {
75 return userNameInput;
76 }
77
78 public AndroidElement getPasswordInput () {
79 return passwordInput;
80 }
81
82
83 public AndroidElement getServerStatusTextElement () {
84 return serverStatusText;
85 }
86
87 public AndroidElement getAuthStatusText () {
88 return authStatusText;
89 }
90 }