SaucedemoSeleniumTestNGJenkins / src / test / java / pages / LoginPage.java
LoginPage.java
Raw
package pages;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

import com.aventstack.extentreports.Status;

import utilities.ReportManager;

public class LoginPage extends BasePage{

	private static String userField = "//input[@id='user-name']";
	private static String passField = "//input[@id='password']";
	private static String loginButton = "//input[@id='login-button']";
	private static String error = "//h3[normalize-space()='Epic sadface: Username is required']";
	private static String error2 = "//h3[normalize-space()='Epic sadface: Username and password do not match any user in this service']";
	
	public LoginPage(WebDriver driver){
		super(driver);
	}
	
	public  void verifyTitle(ReportManager report) {
		String expectedTitle = "Swag Labs";
		String actualTitle = getTitle();
		System.out.println(actualTitle);
		if(expectedTitle.equals(actualTitle)) {
			report.getTest().log(Status.PASS,"Verificación correcta de título de página");
		} else {
			report.getTest().log(Status.FAIL,"No paso la verificación de título de página");
		}
	}

	
	public  void enterCredentials(String user,String password) {
		write(userField,user);
		write(passField,password);
	}
	
	public  void clickLogin() {
		clickElement(loginButton);
	}
	
	public  void emptyFields() {
		find(userField).clear();
		find(passField).clear();
	}
	
	public  void errorMessageEmptyFields() {
		WebElement errorElement = find(error);
		if (errorElement.isDisplayed()) {
			 String errorMessage = errorElement.getText();
	         System.out.println("Inicio de sesión fallido: " + errorMessage);
	         assert errorElement.isDisplayed();
	        } else {
	            System.out.println("Inicio de sesión exitoso");
	        }
		}
	
	public  void errorMessageInvalidUserOrPass() {
		WebElement errorElement = find(error2);
		if (errorElement.isDisplayed()) {
			 String errorMessage = errorElement.getText();
	         System.out.println("Inicio de sesión fallido: " + errorMessage);
	         assert errorElement.isDisplayed();
	        } else {
	            System.out.println("Inicio de sesión exitoso");
	        }
		}
		
}