java读取properties文件,并在配置文件中设置默认浏览器驱动
java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties,文件中,可以用"#"来作注释
Properties类的重要方法
Properties 类存在于胞 Java.util 中,该类继承自 Hashtable
1. getProperty ( String key) , 用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。
2. load (
InputStream inStream) ,从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的 test.properties 文件)进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。
3. setProperty ( String key, String value) ,调用 Hashtable
的方法 put 。他通过调用基类的put方法来设置
键 - 值对。
4. store (
OutputStream out, String comments) , 以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。
5. clear () ,清除所有装载的 键 - 值对。该方法在基类中提供。
1、新建PropUtil类
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap; public class PropUtil {
private static Map<String, Properties> propFileMap = new ConcurrentHashMap<String, Properties>(); //键值对,key是string类型,value是properties类型
public static Properties getProperties() {
return getProperties("/config.properties");
}
public static Properties getProperties(String fileName) {
Properties prop = propFileMap.get(fileName); //获取key对应的value值
if (prop == null) {
prop = new Properties();
}
InputStream is = null;
try {
is = PropUtil.class.getResourceAsStream(fileName);
prop.load(is); //从输入流中读取属性列表
propFileMap.put(fileName, prop);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (is != null)
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return prop;
}
}
2、新建DriverManage类,根据字段值来判断使用哪个浏览器驱动
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver; public class DriverManage {
public static WebDriver driver = null; public static WebDriver getDriver(String runDriver) throws Exception {
switch (Integer.parseInt(runDriver)) {
case :
driver = new FirefoxDriver();
break; case :
driver = new InternetExplorerDriver();
break; case :
driver = new ChromeDriver();
break;
}
return driver;
} }
三、在/src/main/resources目录下新建config.properties,设置启动浏览器的值为1,则启动火狐浏览器
browser =
四、新建TestBase类,设置一些浏览器的操作,从配置文件中读取数据
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import Hnjb.Hnjb.DriverManage;
import Hnjb.Hnjb.PropUtil; public class TestBase {
protected WebDriver driver;
protected String browser; @BeforeTest
public void setUp() throws Exception {
Properties prop = PropUtil.getProperties();
browser = prop.getProperty("browser");
driver = DriverManage.getDriver(browser);
driver.manage().timeouts().implicitlyWait(, TimeUnit.SECONDS);
} @AfterTest
public void tearDown() throws Exception { driver.quit();
} }
如果想要别的浏览器驱动,则修改配置文件的值即可
java读取properties文件,并在配置文件中设置默认浏览器驱动的更多相关文章
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- java 读取properties文件总结
一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResource ...
- java基础学习总结——java读取properties文件总结
摘录自:http://www.cnblogs.com/xdp-gacl/p/3640211.html 一.java读取properties文件总结 在java项目中,操作properties文件是经常 ...
- java基础—java读取properties文件
一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResource ...
- Java基础学习总结(15)——java读取properties文件总结
一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResource ...
- java读取properties文件总结
一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResource ...
- 用java读取properties文件--转
今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享. 下面直接贴出代码:java类 public class Mytest pub ...
- java读取properties文件时候要注意的地方
java读取properties文件时,一定要注意properties里面后面出现的空格! 比如:filepath = /home/cps/ 我找了半天,系统一直提示,没有这个路径,可是确实是存在的, ...
- Java读取properties文件连接数据库
先说为什么要有这种东西,或者我们为什么要用这种方式来写,先看经常用的方法,我们经常写的 package util; import java.sql.Connection; import java.sq ...
随机推荐
- codeforces 834 D. The Bakery
codeforces 834 D. The Bakery(dp + 线段树优化) 题意: 给一个长度为n的序列分成k段,每段的值为这一段不同数字的个数,最大化划分k端的值 $n <= 35000 ...
- HDU 5761 物理题
Rower Bo Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total ...
- python代理池的实现
https://github.com/wangqifan/ProxyPool http://python.jobbole.com/86994/
- 封装的方法--读取任何路径下的properties文件中的值
概述:我们在做项目时,经常需要从某个properties文件中读取properties文件中的值.现在我封装了一下方法,直接读取配置文件中的值. 代码如下所示: /** * Created by qi ...
- OnCommand® Unified Manager
OnCommand Unified Manager Solution Components The following components are downloaded and installe ...
- 关于JSON的简介及取值以及常见面试题
关于JSON的简介及取值 JSON(JavaScript Object Notation)一种轻量级的数据交互格式 类似于一种数据封装,可以想象为java中student封装类 JSON的数值可以是数 ...
- vue实现tab切换
需要弄类似tab切换的功能就是一个点击切换上一页下一页的页面 找到这个获得灵感 <!DOCTYPE html> <html lang="en"> <h ...
- linux内核分析之缺页中断【转】
转自:http://blog.csdn.net/bullbat/article/details/7108402 linux缺页异常程序必须能够区分由编程引起的异常以及由引用属于进程地址空间但还尚未分配 ...
- C++内联汇编,输出人物名字
DWORD PeopleBase =0x9CD674;//天龙人物基址 //获取人物名称 char * CData::GetPeopleName() { char * name="& ...
- hdu 5067(暴力搜索)
Harry And Dig Machine Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...