23542691700fe96a3d4046462bb7062ceaa34ca8
[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 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 public class LoginForm {
11 final AndroidDriver driver;
12
13 @CacheLookup
14 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Server address\")")
15 private AndroidElement hostUrlInput;
16
17 @CacheLookup
18 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Username\")")
19 private AndroidElement userNameInput;
20
21 @CacheLookup
22 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Password\")")
23 private AndroidElement passwordInput;
24
25 @CacheLookup
26 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Connect\")")
27 private AndroidElement connectButton;
28
29 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Testing connection\")")
30 private AndroidElement serverStatusText;
31
32 @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Wrong username or password\")")
33 private AndroidElement authStatusText;
34
35 public LoginForm (AndroidDriver driver) {
36 this.driver = driver;
37 PageFactory.initElements(new AppiumFieldDecorator(driver), this);
38 }
39
40 public void typeHostUrl (String hostUrl) {
41 hostUrlInput.clear();
42 hostUrlInput.sendKeys(hostUrl);
43 driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
44 }
45
46 public void clickOnUserName () {
47 userNameInput.click();
48 }
49
50 public void typeUserName (String userName) {
51 userNameInput.clear();
52 userNameInput.sendKeys(userName);
53 driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
54 }
55
56 public void typePassword (String password) {
57 passwordInput.clear();
58 passwordInput.sendKeys(password);
59 driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
60 }
61
62 public MainView clickOnConnectButton () {
63 connectButton.click();
64 MainView mainView = new MainView(driver);
65 return mainView;
66 }
67
68 public AndroidElement getServerStatusTextElement () {
69 return serverStatusText;
70 }
71
72 public AndroidElement getAuthStatusText () {
73 return authStatusText;
74 }
75 }