喜欢研究学习技术,喜欢和志同道合的人交流。
从事测试6年,专职性能3年经验,擅长性能测试,测试框架开发。
励志格言:只要想学习,永远都不会太晚;只要想进步,永远都会有空间。
Webdriver从Properties文件读取浏览器启动信息
上一篇 /
下一篇 2014-11-27 11:50:16
/ 个人分类:selenium自动化测试
需求:每次创建case的时候需要根据不同情况创建不同的浏览器实例,而且在脚本本创建过多,导致需要修改浏览器的时候,需要分别在不同的
测试用例中进行修改。
固定读取浏览器启动信息,实现思路:通过读取properties文件,根据【浏览器类型=浏览器名称】获取到对应的浏览器,然后通过判断所属哪一种浏览器,从而进行浏览器实例的创建,这样就可以通过维护配置文件,从而解决浏览器实例创建不统一的问题。
properties文件配置信息如下:
#浏览器类型
#BROWSER_TYPE =Firefox
BROWSER_TYPE=IE
#BROWSER_TYPE=Chrome
读取properties文件操作代码:
public class BaseLib {
public static String getPropertyString(String key ) {
String propertyFileName = System.getProperty("user.dir")+"\\test.properties"; //获得文件路径
Properties properties = new Properties();
try {
properties.load(new FileInputStream(propertyFileName)); //获取文件中的内容
}catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if (key == null || key.equals("") || key.equals("null")) {
return "";
}
String result = "";
try {
result = properties.getProperty(key); //取key的value值
} catch (MissingResourceException e) {
e.printStackTrace();
}
return result;
}
}
判断所属哪一种浏览器类型,启动对应的浏览器实例:
public class DriverTools {
public static WebDriver driver;
public String value = BaseLib.getPropertyString("BROWSER_TYPE");
public WebDriver getDriver() {
if (value.equals("IE")) {
DesiredCapabilities ieCapabilities = DesiredCapabilities
.internetExplorer();
ieCapabilities
.setCapability(
InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
true);
return driver = new InternetExplorerDriver(ieCapabilities);
} else if (value.equals("Chrome")) {
return driver = new ChromeDriver();
} else {
System.setProperty("webdriver.firefox.bin",
"C:/Program Files/Mozilla Firefox/firefox.exe");
return driver = new FirefoxDriver();
}
}
}
测试是否能读取成功:
public static WebDriver driver;
public static void main(String[] args) {
DriverTools d=new DriverTools();
driver=d.getDriver();
driver.get("htttp://www.QQ.com");
}
}
收藏
举报
TAG: