其中:DriverFactory
package com.packt.webdriver.chapter3; import java.io.File; import java.io.IOException; import java.util.Arrays; import org.openqa.selenium.Proxy; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeDriverService; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.firefox.internal.ProfilesIni; import org.openqa.selenium.htmlunit.HtmlUnitDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.os.WindowsUtils; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; public class DriverFactory { public static WebDriver getHtmlUnit() { HtmlUnitDriver ht=new HtmlUnitDriver(); return ht; } public static WebDriver getChromeDriver() { // TODO Auto-generated method stub String chromdriver="E:\\chromedriver.exe"; System.setProperty("webdriver.chrome.driver", chromdriver); ChromeDriverService.Builder builder=new ChromeDriverService.Builder(); File file=new File(chromdriver); // int port=12643; // ChromeDriverService service=builder.usingDriverExecutable(file).usingPort(port).build(); // try { // service.start(); // } catch (IOException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } ChromeOptions options = new ChromeOptions(); options.addExtensions(new File("")); DesiredCapabilities capabilities = DesiredCapabilities.chrome(); capabilities.setCapability("chrome.switches", Arrays.asList("--start-maximized")); options.addArguments("--test-type", "--start-maximized"); WebDriver driver=new ChromeDriver(options); return driver; } public static WebDriver getFirefoxDriver() { try { WindowsUtils.tryToKillByName("firefox.exe"); } catch(Exception e) { System.out.println("can not find firefox process"); } File file=new File("d:\\firebug-2.0.4-fx.xpi"); FirefoxProfile profile = new FirefoxProfile(); // profile.setPreference("network.proxy.type", 2); // profile.setPreference("network.proxy.autoconfig_url", "http://proxy.successfactors.com:8083"); // profile.setPreference("network.proxy.no_proxies_on", "localhost"); // // profile.setPreference("network.proxy.http", "proxy.domain.example.com"); // profile.setPreference("network.proxy.http_port", 8080); // profile.setPreference("network.proxy.ssl", "proxy.domain.example.com"); // profile.setPreference("network.proxy.ssl_port", 8080); // profile.setPreference("network.proxy.ftp", "proxy.domain.example.com"); // profile.setPreference("network.proxy.ftp_port", 8080); // profile.setPreference("network.proxy.socks", "proxy.domain.example.com"); // profile.setPreference("network.proxy.socks_port", 8080); try { profile.addExtension(file); profile.setPreference("extensions.firebug.currentVersion", "2.0.4"); profile.setPreference("extensions.firebug.allPagesActivation", "on"); } catch (IOException e3) { // TODO Auto-generated catch block e3.printStackTrace(); } WebDriver driver = new FirefoxDriver(profile); return driver; } public static WebDriver getIEDriver() { String IEDriverServer="E:\\IEDriverServer.exe"; System.setProperty("webdriver.ie.driver",IEDriverServer); WebDriver driver=new InternetExplorerDriver(); return driver; } } |