介面測試-自動化-Java實現-HtmlFile

來源:互聯網
上載者:User

標籤:

接下來要對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中

介面測試-自動化-Java實現-HtmlFile

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.