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 userNameInput
.sendKeys(userName
);
55 driver
.hideKeyboard();
58 public void typePassword (String password
) {
59 passwordInput
.clear();
60 passwordInput
.sendKeys(password
);
61 driver
.hideKeyboard();
64 public MainView
clickOnConnectButton () {
65 connectButton
.click();
66 MainView mainView
= new MainView(driver
);
70 public AndroidElement
gethostUrlInput () {
74 public AndroidElement
getUserNameInput () {
78 public AndroidElement
getPasswordInput () {
83 public AndroidElement
getServerStatusTextElement () {
84 return serverStatusText
;
87 public AndroidElement
getAuthStatusText () {
88 return authStatusText
;