• 如何读取配置文件


    在进行自动化测试时,时常会设置一些共通性的配置,比如你的测试用例放在那里,是否要初始化,使用哪个浏览器,报告要以哪种方式展示等等

    一般有三种方式可以实现这个功能,我这里只说我认为不错并且使用的一种方式。

    ------------------------------------------------------我是举例子开始的线---------------------------------

    1.创建一个配置文件config.properties,里面写清楚要配置的项:TestData=c:/TestData.xls

    2.创建一个类,把TestData设计成key

    public interface CommonKeys {

    public static final String CommonKey = "config.properties";

    public static final String TestDataKey = "TestData";

    }

    3.创建一个类,通过key能读取value

    使用Properties关键字

    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 (),清除所有装载的 键 - 值对。该方法在基类中提供。

    public class CommonUtil {

    public String getconfigByKey(String key){
    Properties properties =new Properties();
    try {
    InputStreamReader in=new InputStreamReader(ClassLoader.getSystemClassLoader().getResourceAsStream(CommonKeys.CommonKey),"UTF-8");
    properties.load(in);

    //也可以写成:properties.load(new InputStreamReader(ClassLoader.getSystemClassLoader().getResourceAsStream(CommonKeys.CommonKey),"UTF-8"));


    String value = properties.getProperty(key);
    System.out.println(key + " = " + value);
    return value;
    }catch (IOException e) {
    e.printStackTrace();
    return null;
    }
    }

    }

     

    扩展思路:配置文件里添加一个新的配置项→在CommonKeys 中设置新的“key” →CommonUtil 就可以通过新的key读取配置项的“value”

    还有一种方法是在本地中写一个excel表作为配置项,通过管理excel表来控制配置项,我觉得没有这种方便

  • 相关阅读:
    获取label标签内for的属性值-js
    js万亿级数字转汉字的封装方法
    a标签的伪元素的应用——link,hover,visited,active
    JS声明变量的写法
    VUE环境配置步骤及相关Git Bash命令的使用
    display:inline-block下,元素不能在同一水平线及元素间无margin间距的问题解决方法
    css变量的用法——(--cssName)
    img的属性alt 与 title的区别
    返回结果的HTTP状态码——《图解http》第四章
    HTTP报文内部的HTTP信息——《图解HTTP》第三章
  • 原文地址:https://www.cnblogs.com/tangtongxue/p/7262741.html
Copyright © 2020-2023  润新知