1 package androidtest
.models
;
3 import org
.openqa
.selenium
.support
.CacheLookup
;
4 import org
.openqa
.selenium
.support
.PageFactory
;
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
;
11 public class LoginForm
{
12 final AndroidDriver driver
;
15 @AndroidFindBy(uiAutomator
= "new UiSelector().description(\"Server address\")")
16 private AndroidElement hostUrlInput
;
19 @AndroidFindBy(uiAutomator
= "new UiSelector().description(\"Username\")")
20 private AndroidElement userNameInput
;
23 @AndroidFindBy(uiAutomator
= "new UiSelector().description(\"Password\")")
24 private AndroidElement passwordInput
;
27 @AndroidFindBy(uiAutomator
= "new UiSelector().description(\"Connect\")")
28 private AndroidElement connectButton
;
30 @AndroidFindBy(uiAutomator
= "new UiSelector().description(\"Testing connection\")")
31 private AndroidElement serverStatusText
;
33 @AndroidFindBy(uiAutomator
= "new UiSelector().description(\"Wrong username or password\")")
34 private AndroidElement authStatusText
;
36 public LoginForm (AndroidDriver driver
) {
38 PageFactory
.initElements(new AppiumFieldDecorator(driver
), this);
41 public CertificatePopUp
typeHostUrl (String hostUrl
) {
43 hostUrlInput
.sendKeys(hostUrl
+ "\n");
44 CertificatePopUp certificatePopUp
= new CertificatePopUp(driver
);
45 return certificatePopUp
;
48 public void clickOnUserName () {
49 userNameInput
.click();
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();
59 public void typePassword (String password
) {
60 passwordInput
.clear();
61 passwordInput
.sendKeys(password
+ "\n");
62 //driver.hideKeyboard();
65 public MainView
clickOnConnectButton () {
66 connectButton
.click();
67 MainView mainView
= new MainView(driver
);
71 public AndroidElement
gethostUrlInput () {
75 public AndroidElement
getUserNameInput () {
79 public AndroidElement
getPasswordInput () {
84 public AndroidElement
getServerStatusTextElement () {
85 return serverStatusText
;
88 public AndroidElement
getAuthStatusText () {
89 return authStatusText
;