靈感來源於unittest framework最常用的報表插件:HTMLTestRunner,該插件基於python2,已經更新。好在@ Worm壹直在維護更新這個插件,讓大家可以繼續使用。詳情請移至:SeldomQA/HTMLTestRunner。
回到HTMLTestRunner報表插件,看著源代碼,發現作者只用壹個python文件就熟練地寫出了HTML,畫出了頁面,嵌入了數據。進壹步分析表明,作者首先在模板基類中定義HTML結構模板和測試報告的各個模塊/表格模板,然後以格式化輸入的形式用目標數據填充每個模板,再以格式化輸入的形式將填充的模板填充到HTML結構模板中,最後將所有內容寫入壹個HTML文件。
可以看出,這種設計其實有非常小巧輕便的優點,但缺點是可維護性和可移植性差,數據量仍然較小,不適合大量數據的統計和繪制。
這個設計的關鍵是建立壹個模板,然後根據需要填寫數據,最後編寫HTML。通常,我的方法是: