Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.51 KB | None | 0 0
  1. package com.waywire.login;
  2.  
  3. import com.tdnaqa.engine.elements.impl.Button;
  4. import com.tdnaqa.engine.elements.impl.CheckBox;
  5. import com.tdnaqa.engine.elements.impl.Element;
  6. import com.tdnaqa.engine.elements.impl.Field;
  7. import com.tdnaqa.engine.page.impl.PageObject;
  8. import com.typesafe.config.Config;
  9. import org.openqa.selenium.By;
  10. import org.openqa.selenium.WebDriver;
  11. import org.openqa.selenium.WebElement;
  12.  
  13. public class LoginPage extends PageObject {
  14.     private Field emailLogin = new Field("email", this);
  15.     private Field emailReset = new Field("email2", this);
  16.     private Field password = new Field("password", this);
  17.     private CheckBox rememberMe = new CheckBox("remember", this);
  18.     private Button login = new Button("Log In", this);
  19.     private Button sendInstruction = new Button("Send Reset Password Instructions", this);
  20.     // hidden checkbox - works via label tag
  21.     private Element resetPassword = new Element("Forgot your password?", this) {
  22.         @Override
  23.         public void init() {
  24.             instance = getDriver().findElements(By.tagName("label"))
  25.                     .stream()
  26.                     .filter(v -> v.getText().equals(name))
  27.                     .findFirst().orElse(null);
  28.         }
  29.     };
  30.  
  31.     public LoginPage(WebDriver driver) {
  32.         super(driver);
  33.     }
  34.  
  35.     public void clearLoginForm() {
  36.         emailLogin.clear();
  37.         password.clear();
  38.     }
  39.  
  40.     public void setLoginForm(String email, String password) {
  41.         emailLogin.click();
  42.         emailLogin.input(email);
  43.         this.password.click();
  44.         this.password.input(password);
  45.     }
  46.  
  47.     public void setLoginForm(String email, String password, Boolean rememberMe) {
  48.         setLoginForm(email, password);
  49.         if (this.rememberMe.isSelected() != rememberMe) {
  50.             this.rememberMe.select();
  51.         }
  52.     }
  53.  
  54.     public void setLoginForm(Config config) {
  55.         String email = config.getString("username");
  56.         String password = config.getString("password");
  57.         setLoginForm(email, password);
  58.     }
  59.  
  60.     public void setLoginForm(Config config, Boolean rememberMe) {
  61.         setLoginForm(config);
  62.         if (this.rememberMe.isSelected() != rememberMe) {
  63.             this.rememberMe.select();
  64.         }
  65.     }
  66.  
  67.     public boolean rememberMeIsSelected() {
  68.         return rememberMe.isSelected();
  69.     }
  70.  
  71.     public void setRememberMe() {
  72.         rememberMe.select();
  73.     }
  74.  
  75.     public void tryLogin() {
  76.         login.click();
  77.     }
  78.  
  79.     public void sendLoginForm(String email, String password, Boolean rememberMe) {
  80.         try {
  81.             if (this.rememberMe.isSelected() != rememberMe) {
  82.                 this.rememberMe.select();
  83.             }
  84.             setLoginForm(email, password, rememberMe);
  85.         } catch (NullPointerException e) {
  86.             setLoginForm(email, password);
  87.         }
  88.         login.click();
  89.     }
  90.  
  91.     public void sendLoginForm(Config config, Boolean rememberMe) {
  92.         String email = config.getString("username");
  93.         String password = config.getString("password");
  94.         sendLoginForm(email, password, rememberMe);
  95.     }
  96.  
  97.     public void showOrHideResetPasswordForm() {
  98.         resetPassword.init();
  99.         resetPassword.getInstance().click();
  100.     }
  101.  
  102.     public boolean resetPasswordFormIsDisplayed() {
  103.         String FORM_ACTION_RESET = getUrl() + "reset";
  104.         WebElement resetFrom = getDriver().findElements(By.tagName("form"))
  105.                 .stream()
  106.                 .filter(v -> v.getAttribute("action").equals(FORM_ACTION_RESET))
  107.                 .findFirst()
  108.                 .orElse(null);
  109.         if (resetFrom == null) {
  110.             throw new RuntimeException("reset form was not detected");
  111.         }
  112.         return resetFrom.isDisplayed();
  113.     }
  114.  
  115.     public void clearResetPasswordForm() {
  116.         emailReset.clear();
  117.     }
  118.  
  119.     public void setResetPasswordFrom(String email) {
  120.         emailReset.input(email);
  121.     }
  122.  
  123.     public void setResetPasswordFrom(Config config) {
  124.         String email = config.getString("username");
  125.         setResetPasswordFrom(email);
  126.     }
  127.  
  128.     public void sendResetPasswordFrom(String email) {
  129.         setResetPasswordFrom(email);
  130.         sendInstruction.click();
  131.     }
  132.  
  133.     public void sendResetPasswordFrom(Config config) {
  134.         setResetPasswordFrom(config);
  135.         sendInstruction.click();
  136.     }
  137.  
  138.     public void trySendResetPasswordInstruction() {
  139.         sendInstruction.click();
  140.     }
  141.  
  142.     @Override
  143.     public void reinitialize() {
  144.  
  145.     }
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement