zoukankan      html  css  js  c++  java
  • 【RobotFramework】日志输出及控制台中文乱码问题解决

    RobotFramewok使用过程中,遇到中文乱码问题还是很普遍的,下面就说下如何解决日志输出乱码与控制台乱码问题:

    一、日志输出乱码

    CASE如下:创建一个list,值1和值2分别是中文“测试”和“中国”。

    运行后,日志输出如下:中文部分全部乱码展示

     

    Python2.7环境

    步骤1:

    Libsite-packages obotutils目录下,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的Libsite-packages文件夹下,新建一个sitecustomize.py文件,内容如下:

    #coding=utf8
    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')

    重启RIDE后看下是否还乱码

    Python3.7环境

    乱码还是那个乱码,按照上述方法尝试解决,竟然无效。

    参照上述步骤1:配置没用,用Python2.7下的unic.py文件替换,启动ride报错

    参照上述步骤2:新增文件后,ride启动无反应。

    最后经过各种搜索尝试,终于找到了这个方法:

    Libsite-packages obotidecontrib estrunnertestrunnerplugin.py中565行

    将SYSTEM修改为OUTPUT,位置如图所示:

    修改后重启RIDE,重新执行解决了。

     

    二、控制台乱码解决方法

    一般python安装路径存在中文文件夹的情况会出现:

    Libsite-packages obotidecontrib estrunner目录下testrunner.py中将latinl修改为mbcs。

    (mbcs为多字节字符集,会根据系统自动显示为对应的语言字符集,中文系统中展示GB2312)

     

  • 相关阅读:
    Java NIO中的FileLock(文件锁)
    Java NIO中的Channel接口
    Java NIO中的Buffer类
    Java NIO简介
    Java 自定义序列化、反序列化
    Java 对象的序列化、反序列化
    SVN常用操作
    Windows下SVN的下载、安装
    Java RandomAccessFile类
    Java的IO流
  • 原文地址:https://www.cnblogs.com/panda-sweets/p/13730365.html
Copyright © 2011-2022 走看看