Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.waywire.login;
- import com.tdnaqa.engine.elements.impl.Button;
- import com.tdnaqa.engine.elements.impl.CheckBox;
- import com.tdnaqa.engine.elements.impl.Element;
- import com.tdnaqa.engine.elements.impl.Field;
- import com.tdnaqa.engine.page.impl.PageObject;
- import com.typesafe.config.Config;
- import org.openqa.selenium.By;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- public class LoginPage extends PageObject {
- private Field emailLogin = new Field("email", this);
- private Field emailReset = new Field("email2", this);
- private Field password = new Field("password", this);
- private CheckBox rememberMe = new CheckBox("remember", this);
- private Button login = new Button("Log In", this);
- private Button sendInstruction = new Button("Send Reset Password Instructions", this);
- // hidden checkbox - works via label tag
- private Element resetPassword = new Element("Forgot your password?", this) {
- @Override
- public void init() {
- instance = getDriver().findElements(By.tagName("label"))
- .stream()
- .filter(v -> v.getText().equals(name))
- .findFirst().orElse(null);
- }
- };
- public LoginPage(WebDriver driver) {
- super(driver);
- }
- public void clearLoginForm() {
- emailLogin.clear();
- password.clear();
- }
- public void setLoginForm(String email, String password) {
- emailLogin.click();
- emailLogin.input(email);
- this.password.click();
- this.password.input(password);
- }
- public void setLoginForm(String email, String password, Boolean rememberMe) {
- setLoginForm(email, password);
- if (this.rememberMe.isSelected() != rememberMe) {
- this.rememberMe.select();
- }
- }
- public void setLoginForm(Config config) {
- String email = config.getString("username");
- String password = config.getString("password");
- setLoginForm(email, password);
- }
- public void setLoginForm(Config config, Boolean rememberMe) {
- setLoginForm(config);
- if (this.rememberMe.isSelected() != rememberMe) {
- this.rememberMe.select();
- }
- }
- public boolean rememberMeIsSelected() {
- return rememberMe.isSelected();
- }
- public void setRememberMe() {
- rememberMe.select();
- }
- public void tryLogin() {
- login.click();
- }
- public void sendLoginForm(String email, String password, Boolean rememberMe) {
- try {
- if (this.rememberMe.isSelected() != rememberMe) {
- this.rememberMe.select();
- }
- setLoginForm(email, password, rememberMe);
- } catch (NullPointerException e) {
- setLoginForm(email, password);
- }
- login.click();
- }
- public void sendLoginForm(Config config, Boolean rememberMe) {
- String email = config.getString("username");
- String password = config.getString("password");
- sendLoginForm(email, password, rememberMe);
- }
- public void showOrHideResetPasswordForm() {
- resetPassword.init();
- resetPassword.getInstance().click();
- }
- public boolean resetPasswordFormIsDisplayed() {
- String FORM_ACTION_RESET = getUrl() + "reset";
- WebElement resetFrom = getDriver().findElements(By.tagName("form"))
- .stream()
- .filter(v -> v.getAttribute("action").equals(FORM_ACTION_RESET))
- .findFirst()
- .orElse(null);
- if (resetFrom == null) {
- throw new RuntimeException("reset form was not detected");
- }
- return resetFrom.isDisplayed();
- }
- public void clearResetPasswordForm() {
- emailReset.clear();
- }
- public void setResetPasswordFrom(String email) {
- emailReset.input(email);
- }
- public void setResetPasswordFrom(Config config) {
- String email = config.getString("username");
- setResetPasswordFrom(email);
- }
- public void sendResetPasswordFrom(String email) {
- setResetPasswordFrom(email);
- sendInstruction.click();
- }
- public void sendResetPasswordFrom(Config config) {
- setResetPasswordFrom(config);
- sendInstruction.click();
- }
- public void trySendResetPasswordInstruction() {
- sendInstruction.click();
- }
- @Override
- public void reinitialize() {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement