Newer
Older
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import pages.components.ConfirmationDialog;
import pages.components.GenericSelect;
import pages.components.baseComponents.PageComponent;
import static org.openqa.selenium.remote.DriverCommand.CLICK_ELEMENT;
public class UserPopup extends PageComponent {
public UserPopup(WebDriver driver) {
super(driver);
PageFactory.initElements(driver, this);
rolesSelect = new GenericSelect(driver, rolesSelectContainer);
}
@FindBy(id = "userDetailsToggle_id")
WebElement userDetailsToggle;
@FindBy(css = "#active_id > label > div > div")
WebElement activeToggle;
@FindBy(id = "username_id")
WebElement userNameInput;
@FindBy(id = "emailAddress_id")
WebElement emailInput;
@FindBy(id = "np_id")
@FindBy(id = "cnp_id")
@FindBy(css = "input#cp_id")
WebElement adminPassInput;
@FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div")
WebElement usernameValidationError;
@FindBy(css = "mat-form-field.password > div > div.mat-form-field-flex > div > div")
WebElement passValidationError;
@FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div")
WebElement passConfirmationValidationError;
@FindBy(css = ".mat-form-field-infix > div.has-error")
WebElement passMatchValidationError;
@FindBy(css = "mat-dialog-actions button:nth-child(1)")
@FindBy(css = "mat-dialog-actions button:nth-child(2)")
@FindBy(css ="#changePassword_id")
WebElement changePassword;
@FindBy(css ="smp-password-change-dialog mat-dialog-actions button:nth-child(1)")
WebElement changedPassword;
@FindBy(css = "#closebuttondialog_id")
WebElement passChangedClose;
@FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(2)")
WebElement passwordDialogClose;
@FindBy(css = "#role_id")
WebElement rolesSelectContainer;
public GenericSelect rolesSelect;
public boolean isOKButtonActive() {
return isEnabled(okBtn);
public boolean isChangePasswordActive() {
return isEnabled(passChangedClose);
}
public boolean isChangePasswordButtonActive() {
return isEnabled(changedPassword);
}
public boolean isCancelButtonActive() {
return isEnabled(cancelBtn);
public void fillData(String user, String email, String role, String password, String confirmation) {
clearAndFillInput(userNameInput, user);
clearAndFillInput(emailInput, email);
clearAndFillInput(passwordInput, password);
clearAndFillInput(confirmationInput, confirmation);
GenericSelect rolesSelect = new GenericSelect(driver, rolesSelectContainer);
rolesSelect.selectOptionByText(role);
}
public void clickOK() {
log.info("click OK");
waitForElementToBeClickable(okBtn);
okBtn.click();
waitForElementToBeGone(okBtn);
}
public void clickCancel() {
log.info("click cancel");
waitForElementToBeClickable(cancelBtn);
cancelBtn.click();
waitForElementToBeGone(cancelBtn);
}
public void clickUserDetailsToggle() {
log.info("details toggle");
waitForElementToBeClickable(userDetailsToggle).click();
waitForElementToBeEnabled(userNameInput);
}
//public void fillDetailsForm(String username, String pass, String confirmation)
public void fillDetailsForm(String username){
clearAndFillInput(userNameInput, username);
//clearAndFillInput(passwordInput, pass);
//clearAndFillInput(confirmationInput, confirmation);
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
public void clickChangePassword(){
log.info("click change password");
waitForElementToBeClickable(changePassword);
changePassword.click();
//waitForElementToBeGone(changePassword);
}
public void clickCloseAfterChangedPass()
{
log.info("click close after change password");
try {
Thread.sleep(10000);
}
catch (Exception e){
e.printStackTrace();
}
waitForElementToBeClickable(passChangedClose);
log.info("ab");
passChangedClose.click();
log.info("bd");
waitForElementToBeGone(passChangedClose);
log.info("cd");
}
public ConfirmationDialog clickChangedPassword()
{
log.info("click changed password");
waitForElementToBeClickable(changedPassword);
changedPassword.click();
waitForElementToBeGone(changedPassword);
//return new UsersPage(driver);
return new ConfirmationDialog(driver);
}
public void setOrChangePassword(String adminPass,String newPass,String confirmPass)
{
clearAndFillInput(adminPassInput,adminPass);
clearAndFillInput(passwordInput,newPass);
clearAndFillInput(confirmationInput,confirmPass);
}
public void clickClosePasswordDialog()
{
passwordDialogClose.click();
waitForElementToBeGone(passwordDialogClose);
}
public String getUsernameValidationError() {
waitForElementToBeVisible(usernameValidationError);
return usernameValidationError.getText();
public String getPassValidationError() {
waitForElementToBeVisible(passValidationError);
return passValidationError.getText();
public String getConfirmationPassValidationError() {
waitForElementToBeVisible(passConfirmationValidationError);
return passConfirmationValidationError.getText();
public boolean isDuplicateUserNameErrorMsgDisPlayed() {
try {
return driver.findElement(By.cssSelector("mat-form-field.username > div .has-error")).isDisplayed();
e.printStackTrace();
return false;
}
}
public String getPassDontMatchValidationMsg() {
// WebElement passwordUnmatchingMsg = driver.findElement(By.cssSelector(".mat-form-field-infix > div.has-error"));
return passMatchValidationError.getText();