zoukankan      html  css  js  c++  java
  • 接口测试-自动化-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中

  • 相关阅读:
    POJ 1426 Find The Multiple(数论——中国同余定理)
    POJ 2253 Frogger(Dijkstra变形——最短路径最大权值)
    POJ 3790 最短路径问题(Dijkstra变形——最短路径双重最小权值)
    POJ 3278 Catch That Cow(模板——BFS)
    HDU 1071 The area
    HDU 1213 How Many Tables(模板——并查集)
    POJ 1611 The Suspects
    light oj 1214 Large Division
    POJ 1258 Agri-Net(Prim算法求解MST)
    POJ 2387 Til the Cows Come Home(模板——Dijkstra算法)
  • 原文地址:https://www.cnblogs.com/kevinqinan/p/4580997.html
Copyright © 2011-2022 走看看