forked from Zakaria/ZenProject
104 lines
3.5 KiB
Java
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));
|
|
}
|
|
}
|