LoginForm.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package androidtest.models;
  2. import org.openqa.selenium.support.CacheLookup;
  3. import org.openqa.selenium.support.PageFactory;
  4. import io.appium.java_client.android.AndroidDriver;
  5. import io.appium.java_client.android.AndroidElement;
  6. import io.appium.java_client.pagefactory.AndroidFindBy;
  7. import io.appium.java_client.pagefactory.AppiumFieldDecorator;
  8. public class LoginForm {
  9. final AndroidDriver driver;
  10. @CacheLookup
  11. @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Server address\")")
  12. private AndroidElement hostUrlInput;
  13. @CacheLookup
  14. @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Username\")")
  15. private AndroidElement userNameInput;
  16. @CacheLookup
  17. @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Password\")")
  18. private AndroidElement passwordInput;
  19. @CacheLookup
  20. @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Connect\")")
  21. private AndroidElement connectButton;
  22. @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Testing connection\")")
  23. private AndroidElement serverStatusText;
  24. @AndroidFindBy(uiAutomator = "new UiSelector().description(\"Wrong username or password\")")
  25. private AndroidElement authStatusText;
  26. public LoginForm (AndroidDriver driver) {
  27. this.driver = driver;
  28. PageFactory.initElements(new AppiumFieldDecorator(driver), this);
  29. }
  30. public void typeHostUrl (String hostUrl) {
  31. hostUrlInput.clear();
  32. hostUrlInput.sendKeys(hostUrl);
  33. driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
  34. }
  35. public void clickOnUserName () {
  36. userNameInput.click();
  37. }
  38. public void typeUserName (String userName) {
  39. userNameInput.clear();
  40. userNameInput.sendKeys(userName);
  41. driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
  42. }
  43. public void typePassword (String password) {
  44. passwordInput.clear();
  45. passwordInput.sendKeys(password);
  46. driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
  47. }
  48. public MainView clickOnConnectButton () {
  49. connectButton.click();
  50. MainView mainView = new MainView(driver);
  51. return mainView;
  52. }
  53. public AndroidElement getServerStatusTextElement () {
  54. return serverStatusText;
  55. }
  56. public AndroidElement getAuthStatusText () {
  57. return authStatusText;
  58. }
  59. }