您好,登錄后才能下訂單哦!
使用HTMLTestRunner輸出的測試報告中,標題和錯誤說明的中文亂碼。
環境:
python v3.6
HTMLTestRunner v0.8.2
定位問題
剛開始以為是python3對HTMLTestRunner文件兼容的問題。網上搜了一些解決辦法基本都是說python2的,對比看了一下,我這邊兼容性是可以的。
接下來,查看HTMLTestRunner文件輸出,倒著去找,最后問題定位到:
self.stream.write(output)
這一行,print(output)是正常輸出中文的,但是write()就是亂碼。
其中,stream是運行生成報告時,傳的stream參數,stream傳空時,stream=sys.stdout,我這邊傳的是一個打開文件:
outfile = open(filename, 'w')
那么問題就是,outfile.write(output)時中文亂碼。
解決方案
* 有兩種解決辦法 *
1、打開寫入文件時設置編碼
outfile = open(filename, 'w', encoding='utf-8')
2、打開文件時未設置編碼,但寫入方式設置為'wb';并且,output字符串encode()成utf-8編碼。
以上這篇解決python3 HTMLTestRunner測試報告中文亂碼的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。