Guest User

Paralleling

a guest
Feb 14th, 2017
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.63 KB | None | 0 0
  1. package com.webtestsbase;
  2.  
  3. import org.openqa.selenium.WebDriver;
  4. import org.openqa.selenium.chrome.ChromeDriver;
  5. import org.openqa.selenium.firefox.FirefoxDriver;
  6. import org.openqa.selenium.firefox.FirefoxProfile;
  7. import org.openqa.selenium.firefox.internal.ProfilesIni;
  8. import org.openqa.selenium.remote.RemoteWebDriver;
  9. import org.openqa.selenium.safari.SafariDriver;
  10. import org.openqa.selenium.Point;
  11. import org.openqa.selenium.Dimension;
  12.  
  13. import org.openqa.selenium.remote.UnreachableBrowserException;
  14. import org.testng.annotations.Parameters;
  15.  
  16. import java.awt.*;
  17. import java.nio.file.Paths;
  18. import java.util.concurrent.TimeUnit;
  19.  
  20.  
  21. public class WebDriverFactory {
  22.     private static final long IMPLICIT_WAIT_TIMEOUT = 5;
  23.     public static String currentBrowser = "chrome";
  24.     public static String currentDomain = "https://admin.quickblox.com";
  25.     public static String currentOs = "mac_os";
  26.  
  27.     public static String getDomain() {
  28.         return currentDomain;
  29.     }
  30. //
  31. //    //    Setting chromedriver for Linux and Windows. Remember that names of executable drivers files are different
  32. ////    protected  WebDriver setChromeDriver(){
  33. ////        String pathToChromeDriver = Paths.get("./src/test/resources/ChromeDriver/chromedriver_linux").toAbsolutePath().toString();
  34. ////        System.setProperty("webdriver.chrome.driver", pathToChromeDriver);
  35. ////        ChromeOptions options = new ChromeOptions();
  36. ////        options.addArguments("start-maximized");
  37. ////        WebDriver chromeDriver = new ChromeDriver(options);
  38. ////        return chromeDriver;
  39. ////    }
  40. //
  41. //    //    Setting chromedriver for Mac
  42. //    protected static WebDriver setChromeDriver(){
  43. //        String pathToChromeDriver = Paths.get("./src/test/resources/ChromeDriver/chromedriver_mac").toAbsolutePath().toString();
  44. //        System.setProperty("webdriver.chrome.driver", pathToChromeDriver);
  45. //        WebDriver chromeDriver = new ChromeDriver();
  46. //
  47. //        java.awt.Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  48. //        Point position = new Point(0, 0);
  49. //        chromeDriver.manage().window().setPosition(position);
  50. //        Dimension maximizedScreenSize =
  51. //                new Dimension((int) screenSize.getWidth(), (int) screenSize.getHeight());
  52. //        chromeDriver.manage().window().setSize(maximizedScreenSize);
  53. //        return chromeDriver;
  54. //    }
  55. //
  56. //
  57.     protected static WebDriver setFirefoxDriver(){
  58.         FirefoxDriver firefoxDriver = new FirefoxDriver();
  59.         firefoxDriver.manage().window().maximize();
  60.  
  61.         return firefoxDriver;
  62.     }
  63.  
  64.     protected static WebDriver setLinuxFirefoxDriver(){
  65.  
  66.         ProfilesIni profile = new ProfilesIni();
  67.  
  68.         FirefoxProfile myprofile = profile.getProfile("SeleniumProfile");
  69.  
  70.         WebDriver linuxFirefoxDriver = new FirefoxDriver(myprofile);
  71.         linuxFirefoxDriver.manage().window().maximize();
  72.  
  73.         return linuxFirefoxDriver;
  74.     }
  75. //
  76. //
  77. //
  78. //    // Before use Safari driver - you should download the latest version from here - http://www.seleniumhq.org/download/
  79. //    // and add him to your Safari browser as browser extension
  80. //    protected static WebDriver setSafariDriver(){
  81. //        SafariDriver safariDriver;
  82. //        try {
  83. //            safariDriver = new SafariDriver();
  84. //        } catch (UnreachableBrowserException e){
  85. //            safariDriver = new SafariDriver();
  86. //        }
  87. //
  88. //        safariDriver.manage().window().maximize();
  89. //
  90. //        return safariDriver;
  91. //    }
  92. //
  93. //
  94. //
  95. //    public static void startBrowser(boolean isLocal) {
  96. //            if (!isLocal) {
  97. //                driver = new RemoteWebDriver(RemoteCapabilitiesGenerator.getDefaultCapabilities(currentBrowser));
  98. //            } else {
  99. //                switch (currentBrowser) {
  100. //                    case "firefox":
  101. //                        driver = setFirefoxDriver();
  102. //                        break;
  103. //                    case "chrome":
  104. //                        driver = setChromeDriver();
  105. //                        break;
  106. //                    case "safari":
  107. //                        driver = setSafariDriver();
  108. //                        break;
  109. //                    default:
  110. //                        throw new IllegalStateException("Unsupported browser type");
  111. //                }
  112. //            }
  113. //            driver.manage().timeouts().implicitlyWait(IMPLICIT_WAIT_TIMEOUT, TimeUnit.SECONDS);
  114. //        }
  115.  
  116.     public static class DriverManager {
  117.  
  118.         public static ThreadLocal<WebDriver> ThreadDriver=new ThreadLocal<WebDriver>() ;
  119.  
  120.         public static String browserType;
  121.  
  122.  
  123.         public static WebDriver getDriver(){
  124.             WebDriver driver= DriverManager.ThreadDriver.get();
  125.             if (driver==null){
  126.                 if (currentBrowser.equals("firefox") && currentOs.equals("linux")){
  127.                     driver = setLinuxFirefoxDriver();
  128.                     ThreadDriver.set(driver);
  129.                     DriverManager.getDriver().manage().timeouts().implicitlyWait(IMPLICIT_WAIT_TIMEOUT, TimeUnit.SECONDS);
  130.                 }
  131.  
  132.                 if (currentBrowser.equals("firefox") && currentOs.equals("mac_os")){
  133.                     driver = setLinuxFirefoxDriver();
  134.                     ThreadDriver.set(driver);
  135.                     DriverManager.getDriver().manage().timeouts().implicitlyWait(IMPLICIT_WAIT_TIMEOUT, TimeUnit.SECONDS);
  136.                 }
  137.             }
  138.             return driver;
  139.         }
  140.  
  141.         public static void finishBrowser(){
  142.             getDriver().quit();
  143.             DriverManager.ThreadDriver.set(null);
  144.             DriverManager.ThreadDriver.remove();
  145.         }
  146.  
  147.     }
  148.  
  149. }
Advertisement
Add Comment
Please, Sign In to add comment