SaucedemoSeleniumTestNGJenkins / src / test / java / utilities / DriverManager.java
DriverManager.java
Raw
package utilities;

import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import io.github.bonigarcia.wdm.WebDriverManager;

public class DriverManager {
    private static WebDriver driver;

	public static void startDriver(String browser) throws IOException {
		
		if (driver == null) {
		ConfigFile.startConfig();
		}
		
		if (browser.equalsIgnoreCase("chrome")) {

			WebDriverManager.chromedriver().setup();
			driver = new ChromeDriver();
			driver.get(ConfigFile.read("testurl"));

		}

		else if (browser.equalsIgnoreCase("firefox")) {

			WebDriverManager.firefoxdriver().setup();
			driver = new FirefoxDriver();
			driver.get(ConfigFile.read("testurl"));
		}
		
		else if (browser.equalsIgnoreCase("edge")) {

			WebDriverManager.edgedriver().setup();
			driver = new EdgeDriver();
			driver.get(ConfigFile.read("testurl")); 

		}

	}

    public static void closeDriver() {
        if (driver != null) {
            driver.quit();
        }
    }

    public static WebDriver getDriver() {
        return driver;
    }

    public static void setDriver(WebDriver newDriver) {
        driver = newDriver;
    }
}

//@AfterTest
//public static void close() {
//	report.getExtent().flush();
//	System.out.println("Script finalizado");
//	driver.close();
//}
//if (driver == null) {
//FileReader fr = new FileReader(
//System.getProperty("user.dir") + "\\src\\test\\resources\\configfiles\\config.properties");
//prop.load(fr);
//}


///*CONFIGURACIÓN PARA EJECUCIÓN LOCAL */
//@BeforeTest
//public void setUp() throws IOException {
//
//	if (driver == null) {
//		FileReader fr = new FileReader(
//		System.getProperty("user.dir") + "\\src\\test\\resources\\configfiles\\config.properties");
//		prop.load(fr);
//	}
//
//	if (prop.getProperty("browser").equalsIgnoreCase("chrome")) {
//		WebDriverManager.chromedriver().setup();
//		driver = new ChromeDriver();
//		driver.get(prop.getProperty("testurl")); // properties
//		report = new ExtentConfigTest();  
//	    report.startReport();
//
//
//	}
//
//	else if (prop.getProperty("browser").equalsIgnoreCase("firefox")) {
//		WebDriverManager.firefoxdriver().setup();
//		driver = new FirefoxDriver();
//		driver.get(prop.getProperty("testurl")); // properties
//		report = new ExtentConfigTest();  
//	    report.startReport();
//	}
//
//	wait = new WebDriverWait(driver, Duration.ofSeconds(10));
//
//}
//
//

/*CONFIGURACIÓN PARA RUNNERS */
//
//@Parameters("browser")
//@BeforeTest
//public void setUp(String browser) throws IOException {
//
//	if (driver == null) {
//		FileReader fr = new FileReader(
//		System.getProperty("user.dir") + "\\src\\test\\resources\\configfiles\\config.properties");
//		prop.load(fr);
//	}
//
//	if (browser.equalsIgnoreCase("chrome")) {
//
//		WebDriverManager.chromedriver().setup();
//		driver = new ChromeDriver();
//		driver.get(prop.getProperty("testurl"));
//		report = new ReportManager();  
//	    report.startReport();
//
//	}
//
//	else if (browser.equalsIgnoreCase("firefox")) {
//
//		WebDriverManager.firefoxdriver().setup();
//		driver = new FirefoxDriver();
//		driver.get(prop.getProperty("testurl"));
//		report = new ReportManager();  
//	    report.startReport();
//	}
//	
//	else if (browser.equalsIgnoreCase("edge")) {
//
//		WebDriverManager.edgedriver().setup();
//		driver = new EdgeDriver();
//		driver.get(prop.getProperty("testurl")); 
//		report = new ReportManager();  
//	    report.startReport();
//	}
//
//	wait = new WebDriverWait(driver, Duration.ofSeconds(10));
//
//}

//@AfterTest
//public void tearDown() {
//	report.getExtent().flush();
//	System.out.println("Script finalizado");
//	driver.close();
//}