1 封装WebDriver
package com.selenium.test; 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.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class InitWebDriver { public static WebDriver myDriver(String browser) { WebDriver driver = null; if ("firefox".equals(browser.toLowerCase())) { //启动本机firefox ProfilesIni allProfiles = new ProfilesIni(); FirefoxProfile profile = allProfiles.getProfile("default"); //启动浏览器 driver = new FirefoxDriver(profile); driver.manage().window().maximize(); }else if ("ie".equals(browser.toLowerCase())) { //关闭保护模式 DesiredCapabilities capability = new DesiredCapabilities(); capability.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); capability.setCapability("ignoreProtectedModeSettings",true); //指定驱动位置,并加载驱动 System.setProperty("webdriver.ie.driver", "drivers/IEDriverServer.exe"); driver = new InternetExplorerDriver(capability); driver.manage().window().maximize(); } else if ("chrome".equals(browser.toLowerCase())) { //指定驱动位置,并加载驱动 System.setProperty("webdriver.chrome.driver", "drivers/chromedriver.exe"); driver = new ChromeDriver(); driver.manage().window().maximize(); }else{ System.out.println("浏览器指定错误!!!"); } return driver; } }
package com.selenium.test; import org.openqa.selenium.WebDriver; public class InitWebDriverTest { public static void main(String[] args) { WebDriver myBrowser = InitWebDriver.myDriver("firefox"); myBrowser.navigate().to("http://www.cnblogs.com/lizitest/"); // WebDriver myBrowser = InitWebDriver.myDriver("ie"); // myBrowser.navigate().to("http://www.cnblogs.com/lizitest/"); // // WebDriver myBrowser = InitWebDriver.myDriver("chrome"); // myBrowser.navigate().to("http://www.cnblogs.com/lizitest/"); } }
2 使用配置文件
<?xml version="1.0" encoding="UTF-8"?> <chuanke> <browser>firefox</browser> <url>http://www.cnblogs.com/lizitest/</url> <waitTime>2</waitTime> </chuanke>
package com.selenium.tool; import java.io.File; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; /** * @author 栗子测试 * 使用SAX(Simple APIs for XML,也即XML简单应用程序接口)解析XML文件 * */ public class ParseXML { private Document document; /** * 构造函数 * 在新建对象的同时加载XML文件 */ public ParseXML(String filePath){ this.loadXML(filePath); } /** * 加载XML文件 */ public void loadXML(String filePath){ //新建文件 File file = new File(filePath); if(file.exists()){ //dom4j包中SAXReader SAXReader saxReader = new SAXReader(); try { document = saxReader.read(file); } catch (DocumentException e) { e.printStackTrace(); } }else{ System.out.println("XML文件不存在"); } } /** * 获取节点上的文本 */ public String getSingleNodeText(String nodePath){ Element element = (Element) document.selectSingleNode(nodePath); if(element != null){ return element.getTextTrim(); }else{ System.out.println("节点不存在!"); return null; } } }
package com.selenium.util; import com.selenium.tool.ParseXML; public interface Config { public static ParseXML xml = new ParseXML(".\\config\\config.xml"); public static String browser = xml.getSingleNodeText("//browser"); public static String url = xml.getSingleNodeText("//url"); public static String waitTime = xml.getSingleNodeText("//waitTime"); }
package com.selenium.util; import org.openqa.selenium.WebDriver; public class InitWebDriverTest2 { public static void main(String[] args) { WebDriver myBrowser = InitWebDriver.myDriver(Config.browser); myBrowser.navigate().to(Config.url); } }
原文:http://www.cnblogs.com/lizitest/p/5137407.html