Files
ZenProject/src/main/java/zacksolutions/base/Initialization.java
T

104 lines
3.5 KiB
Java

package zacksolutions.base;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.time.Duration;
import java.util.Properties;
import com.aventstack.extentreports.ExtentTest;
import com.aventstack.extentreports.reporter.ExtentSparkReporter;
import com.aventstack.extentreports.ExtentReports;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.Parameters;
public class Initialization {
// let's set up our variables
// private static ThreadLocal<WebDriver> driver = new ThreadLocal<>();
public static WebDriver driver;
public static Properties prop;
public static ExtentReports extent;
public static ExtentTest test;
public Initialization() {
// let's use the config.properties file to set up our global variables...
try {
prop = new Properties();
FileInputStream fis = new FileInputStream(
System.getProperty("user.dir") + "/src/main/java/zacksolutions/config/config.properties");
prop.load(fis);
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
@Parameters("browser")
public void BrowserInit(String browser) {
// our EXTENTREPORTS SETUP!
String path = System.getProperty("user.dir") + "/reports/index.html";
ExtentSparkReporter spark = new ExtentSparkReporter(path);
spark.config().setDocumentTitle("Zen Test Case");
spark.config().setReportName("Zenful");
extent = new ExtentReports();
extent.attachReporter(spark);
extent.setSystemInfo("Tester ID: ", "Sami");
if (browser.equalsIgnoreCase("chrome")) {
ChromeOptions options = new ChromeOptions();
try {
driver = new RemoteWebDriver(new URL("http://192.168.1.215:4444/wd/hub"), options);
} catch (MalformedURLException e) {
e.printStackTrace();
// TODO: handle exception
}
} else if (browser.equalsIgnoreCase("firefox")) {
FirefoxOptions options = new FirefoxOptions();
try {
driver = new RemoteWebDriver(new URL("http://192.168.1.215:4444/wd/hub"), options);
} catch (MalformedURLException e) {
// TODO: handle exception
e.printStackTrace();
}
} else {
throw new IllegalArgumentException("Unsupported browser: " + browser);
}
//
// // conditioning our WebDriver with an if statement
// String browsername = prop.getProperty("browserF");
//
// // launching FireFox
// if (browsername.equalsIgnoreCase("firefox")) {
// // System.setProperty("web-driver.gecko.driver","user.dir" +
// // "/drivers/geckodriver");
// // driver = new FirefoxDriver();
// FirefoxOptions options = new FirefoxOptions();
// options.addArguments("--headless");
// driver = new FirefoxDriver(options);
// }
//
// // launching Chrome
// if (browsername.equalsIgnoreCase("chrome")) {
// // System.setProperty("web-driver.gecko.driver", "user.dir" +
// // "/drivers/chromedriver");
// // driver = new ChromeDriver();
// ChromeOptions options = new ChromeOptions();
// options.addArguments("--headless");
// driver = new ChromeDriver(options);
// }
driver.get(prop.getProperty("url"));
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(5));
}
}