RobotFramewok使用程序中,遇到中文亂碼問題還是很普遍的,下面就說下如何解決日志輸出亂碼與控制臺亂碼問題:
一、日志輸出亂碼
CASE如下:創建一個list,值1和值2分別是中文“測驗”和“中國”,

運行后,日志輸出如下:中文部分全部亂碼展示

Python2.7環境
步驟1:
Lib\site-packages\robot\utils目錄下,unic.py檔案
增加:import json,增加以下代碼
if isinstance(item, (list, dict, tuple)): try: item = json.dumps(item, ensure_ascii=False, encoding='cp936') except UnicodeDecodeError: try: item = json.dumps(item, ensure_ascii=False, encoding='cp936') except: pass except: pass
位置如圖所示,cp936也可用utf-8或gbk編碼格式替換,

重啟RIDE后看下是否還亂碼》如果還有問題繼續往下進行
步驟2:
檢查Python的默認編碼格式:
Python命令視窗:
>>>import sys >>>sys.getdefaultencoding()
如果是Ascii,在Python的Lib\site-packages檔案夾下,新建一個sitecustomize.py檔案,內容如下:
#coding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')
重啟RIDE后看下是否還亂碼
Python3.7環境
亂碼還是那個亂碼,按照上述方法嘗試解決,竟然無效,
參照上述步驟1:配置沒用,用Python2.7下的unic.py檔案替換,啟動ride報錯
參照上述步驟2:新增檔案后,ride啟動無反應,

最后經過各種搜索嘗試,終于找到了這個方法:
將Lib\site-packages\robotide\contrib\testrunner下testrunnerplugin.py中565行
將SYSTEM修改為OUTPUT,位置如圖所示:

修改后重啟RIDE,重新執行解決了,

二、控制臺亂碼解決方法
一般python安裝路徑存在中文檔案夾的情況會出現:
Lib\site-packages\robotide\contrib\testrunner目錄下testrunner.py中將latinl修改為mbcs,
(mbcs為多位元組字符集,會根據系統自動顯示為對應的語言字符集,中文系統中展示GB2312)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/135445.html
標籤:其他
下一篇:selenium---螢屏截圖
