背景不說了!但相信一定有很多在使用Robot Framework框架的同學和我一樣遇到同樣的問題,log.html 超大,甚至幾百M,如下:
這會導致,打開log很慢,佔空間,佔內存。
怎麼樣減少呢?
首先要表明的是:rf機制如此,我們沒辦法直接從根本上解決,只能規避,有以下幾個方法:
- 暴力點,直接不輸出log.html文件。也就是在運行時加上 --log NONE ;不過這種意義不大,在出問題時無法定位。
- log 少輸出, 即在編寫時少寫LOG,這樣可以少點日誌。
- 如果你的腳本中日誌寫的很規範,那我們可以在運行時指定log級別: --loglevel WARN 默認是INFO
上面這幾種方法都屬於增加調試成本換取空間。看實際需求吧,下面看看其它方法:
- 關鍵字的移除,在參數幫忙中,有這麼一個參數:--removekeywords 可傳以下幾個值
- all 移除所以的關鍵字
- passed 移除passed用例關鍵字
- for 移除for循環
- wuks 移除所有但保留最後一個失敗關鍵字
- tag 關鍵字匹配
- 分割log, 同樣,這個也是rf自帶的一個功能,加參數--splitlog 會將日誌拆分成很多小.js文件。
在嘗試過上面2種方法後,分隔log方法確實能將log.html減少很多,但會導致js很多,且總量會和一個文件一樣大。
關鍵字移除在嘗試多次後,發現減少不多。
在一頓折騰後,發現真實大的原因是在輸出html,rf會加很多html額外的東西,每嵌套一層都有。所以想要真正解決log.html文件大的根本就是:
減少關鍵字的嵌套層級關係