接口测试-自动化-Java实现-HtmlFile

接下来要对TestMain中的方法逐个进行分析:

首先 是HtmlFile .java,在主方法中的应用为:

HtmlFile hf = new HtmlFile();
hf.createLog("C:/Code/1.html");

看名称就知道,其实实现的东西很简单就是创建1.html作为Log输出文件。

具体的实现代码如下:

public class HtmlFile implements IFile {

    private FileHandler fileHandler;
    private Logger logger = Logger.getLogger(HtmlFile.class.getName());

    @Override
    public void write(String p_info) {
        // TODO Auto-generated method stub
    }

    @Override
    public void createLog(String p_info) {
        // TODO Auto-generated method stub
        // String p_info 是文件路径
        try {
            fileHandler = new FileHandler(p_info);
        } catch (SecurityException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        fileHandler.setFormatter(new HtmlFormatter());
        logger.addHandler(fileHandler);
    }

    @Override
    public void closeLog() {
        // TODO Auto-generated method stub
        fileHandler.close();
        RecordStore.p_pass = 0;
        RecordStore.p_fail = 0;
        RecordStore.result = "";
        RecordStore.expected = "";
        RecordStore.actual = "";
        RecordStore.instruction = "";
        RecordStore.i = 0;
    }

    @Override
    public void write(String p_info1, String p_info2) {
        // TODO Auto-generated method stub

    }

    @Override
    public String read() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String read(String p_info) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String read(String p_info1, String p_info2) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void write(Object p_info1, Object p_info2, Object p_info3) {
        // TODO Auto-generated method stub
        // 重写方法的时候,第一个值是 Case说明,第二个是实际结果,第三个是标识是否成功
        RecordStore.i++;
        RecordStore.instruction = (String) p_info1;
        RecordStore.actual = p_info2;
        if (p_info1 != null && p_info2 != null && p_info1 != "") {
            if ("True".equalsIgnoreCase((String) p_info3)) {
                RecordStore.result = "True";
                RecordStore.p_pass ++;
            }else {
                RecordStore.result = "False";
                RecordStore.p_fail ++;
            }
            logger.info((String) p_info1);
        }
    }

}

解释:

1. 因为这个类,实现了IFile的接口的方法,而IFile只是定义了不同的写,读,创建文件的方法。所以这里只是为了更好的兼容以后的输出不同的Log格式,没有什么太大的用处。

2. 实现createLog方法,通过手动输入“FilePath”的方式来创建一个Html文件来保存文件。

注意以下代码:

fileHandler.setFormatter(new HtmlFormatter());

因为是使用HTML的格式来输出统计报告,所以需要使用到setFormatter 方法,而Java中原有的是针对ini,或者 Properties格式的文件进行的格式化,所以需要自己重新写一个针对HTML的格式化类。即 HtmlFormatter();

3. 实现closeLog()方法,首先是关闭文件系统,另外需要把所有的记录清空掉。

4. 实现Write()方法,把一些信息放到RecordStore中。剩下的信息,写入log中

时间: 2024-10-07 01:47:21

接口测试-自动化-Java实现-HtmlFile的相关文章

接口测试-自动化-Java实现-Constants.java/RecordStore.java

Constants.java 是一些接口测试中的URL和参数等. public class Constants { public static final String BASE_URL = "http://192.168.1.116:8080/cloudalbums/website/"; /** * 登录模块 */ //登录接口 public static final String LOGIN_URL = BASE_URL + "user/login1"; pub

接口测试-自动化-Java实现-TestMain

TestMain就是整个接口测试的主方法了,同时还要实现对HTML文件的创建,编辑和关闭等功能. 代码如下: public static void main(String[] args) { HtmlFile hf = new HtmlFile(); hf.createLog("C:/Code/1.html"); InterfaceTest it = new InterfaceTest(); it.test1(Constants.LOGIN_CONTENT, "测试登录接口&

接口测试-自动化-Java实现-InterfaceTest

InterfaceTest,在TestMain中可以看到是实现测试测试的基本方法. 代码如下: public class InterfaceTest { final static String param = "param"; HtmlFile hf = new HtmlFile(); public void test1(String p_paramcontent, String p_description, String p_url) { long startTime = Syste

接口测试-自动化-Java实现-HtmlFormatter

因为牵扯到这个不是自己开发的,因为版权的问题,就不贴代码了, 大概理解下,这个类继承了XMLFormatter类,需要重写三个方法,format(报告的主内容),getHead(报告的头部),getTail(报告的尾部). 大概的样式如下: public class FormatterTest extends XMLFormatter { @Override public String format(LogRecord record) { // TODO Auto-generated metho

接口测试-自动化-Java实现-HttpUtil

HttpUtil负责提供Http的Post方法,其核心的方法如下: /** * Do POST request * @param url * @param parameterMap * @return * @throws Exception */ public String doPost(String url, Map<?, ?> parameterMap) throws Exception { /* Translate parameter map to parameter date stri

接口测试自动化生成框架

接口测试这个词语,相信大家都不陌生了吧.目前我个人的理解,接口测试应该属于白盒测试的范畴,也是很多测试工程师很想从事和向往的一个测试手段.大家都觉得白盒测试深不可测,但实际上是怎么样的呢. 接口测试的实施优先级 对于Web应用来说,接口测试就是对某一个接口进行测试代码的编写和执行.一般情况下,实施接口测试的优先级是:对暴露在外面的接口(该接口会给第三方调用)进行接口测试:内部的核心功能接口也会做接口测试:内部非核心功能接口的接口测试(很多时候就是单元测试).当然这个实施的具体细节,还需要根据项目

Jmeter接口测试自动化(持续集成)

Jmeter是压力测试.接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具.将这三者结合起来可以搭建一套webservice接口测试的持续构建环境.   1.安装JDK,配置java环境变量(略过)   2.安装Jmeter,这里用到的版本是2.12(安装过程略过) 3.安装 ANT 3.1 下载安装 下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可, 比如:D:/program files/

WEB接口测试之Jmeter接口测试自动化 (四)(持续构建)

转载http://www.cnblogs.com/chengtch/p/6145867.html  Jmeter是压力测试.接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具.将这三者结合起来可以搭建一套webservice接口测试的持续构建环境.   1.安装JDK,配置java环境变量(略过)   2.安装Jmeter,这里用到的版本是2.12(安装过程略过) 3.安装 ANT 3.1 下载安装 下载地址 http://ant.apache.org/

java Mac自动化-java和ant环境搭建

本文旨在帮助读者介绍,如果一个测试工程师拿到了mac本,该如何在本地搭建java和ant环境 其实在几年前,我们还大多使用的是windows本,而且我们也会比较善于使用windows笔记本,但自从mac本出现后,Mac本迅速成为我们技术人员比较热衷的一种笔记本,除了装x,更多的是因为它超级类似于linux的系统,支持了linux中大部分命令行,轻便的外表等等因素,另一方面,它有着像windows一样的屏幕,使得我们可以像操作windows机器一样操作linux系统,但是,不得不承认,在使用了ma