Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.webtestsbase;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.chrome.ChromeDriver;
- import org.openqa.selenium.firefox.FirefoxDriver;
- import org.openqa.selenium.firefox.FirefoxProfile;
- import org.openqa.selenium.firefox.internal.ProfilesIni;
- import org.openqa.selenium.remote.RemoteWebDriver;
- import org.openqa.selenium.safari.SafariDriver;
- import org.openqa.selenium.Point;
- import org.openqa.selenium.Dimension;
- import org.openqa.selenium.remote.UnreachableBrowserException;
- import org.testng.annotations.Parameters;
- import java.awt.*;
- import java.nio.file.Paths;
- import java.util.concurrent.TimeUnit;
- public class WebDriverFactory {
- private static final long IMPLICIT_WAIT_TIMEOUT = 5;
- public static String currentBrowser = "chrome";
- public static String currentDomain = "https://admin.quickblox.com";
- public static String currentOs = "mac_os";
- public static String getDomain() {
- return currentDomain;
- }
- //
- // // Setting chromedriver for Linux and Windows. Remember that names of executable drivers files are different
- //// protected WebDriver setChromeDriver(){
- //// String pathToChromeDriver = Paths.get("./src/test/resources/ChromeDriver/chromedriver_linux").toAbsolutePath().toString();
- //// System.setProperty("webdriver.chrome.driver", pathToChromeDriver);
- //// ChromeOptions options = new ChromeOptions();
- //// options.addArguments("start-maximized");
- //// WebDriver chromeDriver = new ChromeDriver(options);
- //// return chromeDriver;
- //// }
- //
- // // Setting chromedriver for Mac
- // protected static WebDriver setChromeDriver(){
- // String pathToChromeDriver = Paths.get("./src/test/resources/ChromeDriver/chromedriver_mac").toAbsolutePath().toString();
- // System.setProperty("webdriver.chrome.driver", pathToChromeDriver);
- // WebDriver chromeDriver = new ChromeDriver();
- //
- // java.awt.Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- // Point position = new Point(0, 0);
- // chromeDriver.manage().window().setPosition(position);
- // Dimension maximizedScreenSize =
- // new Dimension((int) screenSize.getWidth(), (int) screenSize.getHeight());
- // chromeDriver.manage().window().setSize(maximizedScreenSize);
- // return chromeDriver;
- // }
- //
- //
- protected static WebDriver setFirefoxDriver(){
- FirefoxDriver firefoxDriver = new FirefoxDriver();
- firefoxDriver.manage().window().maximize();
- return firefoxDriver;
- }
- protected static WebDriver setLinuxFirefoxDriver(){
- ProfilesIni profile = new ProfilesIni();
- FirefoxProfile myprofile = profile.getProfile("SeleniumProfile");
- WebDriver linuxFirefoxDriver = new FirefoxDriver(myprofile);
- linuxFirefoxDriver.manage().window().maximize();
- return linuxFirefoxDriver;
- }
- //
- //
- //
- // // Before use Safari driver - you should download the latest version from here - http://www.seleniumhq.org/download/
- // // and add him to your Safari browser as browser extension
- // protected static WebDriver setSafariDriver(){
- // SafariDriver safariDriver;
- // try {
- // safariDriver = new SafariDriver();
- // } catch (UnreachableBrowserException e){
- // safariDriver = new SafariDriver();
- // }
- //
- // safariDriver.manage().window().maximize();
- //
- // return safariDriver;
- // }
- //
- //
- //
- // public static void startBrowser(boolean isLocal) {
- // if (!isLocal) {
- // driver = new RemoteWebDriver(RemoteCapabilitiesGenerator.getDefaultCapabilities(currentBrowser));
- // } else {
- // switch (currentBrowser) {
- // case "firefox":
- // driver = setFirefoxDriver();
- // break;
- // case "chrome":
- // driver = setChromeDriver();
- // break;
- // case "safari":
- // driver = setSafariDriver();
- // break;
- // default:
- // throw new IllegalStateException("Unsupported browser type");
- // }
- // }
- // driver.manage().timeouts().implicitlyWait(IMPLICIT_WAIT_TIMEOUT, TimeUnit.SECONDS);
- // }
- public static class DriverManager {
- public static ThreadLocal<WebDriver> ThreadDriver=new ThreadLocal<WebDriver>() ;
- public static String browserType;
- public static WebDriver getDriver(){
- WebDriver driver= DriverManager.ThreadDriver.get();
- if (driver==null){
- if (currentBrowser.equals("firefox") && currentOs.equals("linux")){
- driver = setLinuxFirefoxDriver();
- ThreadDriver.set(driver);
- DriverManager.getDriver().manage().timeouts().implicitlyWait(IMPLICIT_WAIT_TIMEOUT, TimeUnit.SECONDS);
- }
- if (currentBrowser.equals("firefox") && currentOs.equals("mac_os")){
- driver = setLinuxFirefoxDriver();
- ThreadDriver.set(driver);
- DriverManager.getDriver().manage().timeouts().implicitlyWait(IMPLICIT_WAIT_TIMEOUT, TimeUnit.SECONDS);
- }
- }
- return driver;
- }
- public static void finishBrowser(){
- getDriver().quit();
- DriverManager.ThreadDriver.set(null);
- DriverManager.ThreadDriver.remove();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment