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 ...
随机推荐
- UVA 11478(差分约束 + 二分)
题意: 给定一个有向图,每条边都有一个权值,每次你可以选择一个结点和一个整数的,把所有以v为终点的边的权值减去d, 把所有以v为起点的边的权值加上d 最后要让所有边的权的最小值非负且尽量大 代码 #i ...
- BZOJ[Sdoi2014]数表 莫比乌斯反演
[Sdoi2014]数表 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 2383 Solved: 1229[Submit][Status][Disc ...
- BZOJ 2103/3302/2447 消防站 树的重心【DFS】【TreeDP】
2103: Fire 消防站 Time Limit: 30 Sec Memory Limit: 259 MBSubmit: 157 Solved: 116[Submit][Status][Disc ...
- Oracle SQL 疑难解析读书笔记(一 基础)
1.在语句中找到和消除空值 select first_name,last_name from hr.employees where commission_pct is null is null 和 i ...
- Reinstall msdtc on Windows
Reinstall MSDTC The system reported an unexpected error condition. You can resolve this condition by ...
- POJ3207 Ikki's Story IV – Panda's Trick
Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 9426 Accepted: 3465 Description liym ...
- Codevs 1710 == POJ 1190 生日蛋糕 == 洛谷P1731
生日蛋糕 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ ...
- 重量WeightFormatUtil辅助类
package com.jlb.scan.util; import java.text.DecimalFormat; public class WeightFormatUtil { public st ...
- c# tcplistener 与 client通信 服务端 今天写一下
using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...
- 关于Bootstrap 利用radio实现tab切换的一个问题
1.html代码 <div class="col-sm-10 nav nav-tabs" id="typelist" role="tablist ...