Robot Framework:日志輸出中文Unicode編碼


robotframework 輸出日志時,中文顯示為Unicode編碼 。

修改方法:

在Python27\Lib\site-packages\robotframework-3.0.4-py2.7.egg\robot\utils\unic.py文件中添加以下代碼

import json

一定要導入包,否則雖然不報錯,但是不能解決問題

if PY2:

    def unic(item):
        if isinstance(item, unicode):
            return item
        if isinstance(item, (bytes, bytearray)):
            try:
                return item.decode('ASCII')
            except UnicodeError:
                return u''.join(chr(b) if b < 128 else '\\x%x' % b
                                for b in bytearray(item))

        # 添加內容
        if isinstance(item, (list, dict, tuple)):
            try:
                item = json.dumps(item, ensure_ascii=False, encoding='utf-8')
            except UnicodeDecodeError:
                try:
                    item = json.dumps(item, ensure_ascii=False, encoding='gbk')
                except:
                    pass
            except:
                pass
        ##### 
        try:
            try:
                return unicode(item)
            except UnicodeError:
                return unic(str(item))
        except:
            return _unrepresentable_object(item)

修改后,重啟robotframework后,輸出日志正常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM