auto-OrangeHRM / src / test / java / stepdefinitions / Hooks.java
Hooks.java
Raw
package stepdefinitions;

import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import io.cucumber.java.Scenario;
import runner.browser_manager.DriverManager;
import runner.browser_manager.DriverType;
import io.cucumber.java.After;
import io.cucumber.java.Before;
import runner.browser_manager.DriverManagerFactory;


public class Hooks {
	private static WebDriver driver;
	private static int numberOfCase = 0;
    private DriverManager driverManager;
//    public static long startTime;
//    public static long endTime;



	@Before
	public void setUp() {

		numberOfCase ++;
		System.out.println("Se está ejecutando el escenario nro: " + numberOfCase);

        // Registro de la hora de inicio
//        startTime = System.currentTimeMillis();

		//Con Controlador
		driverManager = DriverManagerFactory.getManager(DriverType.FIREFOX);
        driver = driverManager.getDriver();
//		driver.manage().window().maximize();

	}

	@After
	public void tearDown(Scenario scenario) {

        if(scenario.isFailed()){
            byte[] screenshot = ((TakesScreenshot)driverManager.getDriver()).getScreenshotAs(OutputType.BYTES);
            scenario.attach(screenshot,"image/png","screenshot");
        }

        // Registro de la hora de fin
//        long endTime = System.currentTimeMillis();

        // Cálculo de la duración en milisegundos
//        long duration = endTime - startTime;

		System.out.println("El escenario nro: " + numberOfCase + "se ejecutó correctamente");
//		System.out.println("Inicio de ejecución: " + new java.util.Date(startTime));
//        System.out.println("Fin de ejecución: " + new java.util.Date(endTime));
//        System.out.println("Duración de ejecución: " + duration + " milisegundos");

		driverManager.quitDriver();
	}

	public static WebDriver getDriver() {
		return driver;
	}
}