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中

  • 相关阅读:
    MyBatis入门学习教程-优化MyBatis配置文件中的配置
    MyBatis入门学习教程-使用MyBatis对表执行CRUD操作
    MyBatis入门学习教程-MyBatis快速入门
    Apache Shiro 简单概念
    将 Shiro 作为应用的权限基础
    在 Web 项目中应用 Apache Shiro
    Shiro简单配置
    Shiro权限框架简单快速入门
    解决错误: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
    解决Shiro注解无效的问题
  • 原文地址:https://www.cnblogs.com/kevinqinan/p/4580997.html
Copyright © 2011-2022 走看看