• 【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)

     

  • 相关阅读:
    jstat命令行工具监控JVM内存和垃圾回收
    SkyWalking 日志监控
    SkyWalking 数据持久化
    问题记录: java 19000101 08:05:43 时间偏移bug
    springboot jest链接es
    redisRedisLockRegistry 分布式锁
    es 索引别名
    springboot elasticsearchresthighlevelclient 连接es
    缓存穿透、缓存击穿和缓存雪崩 概念
    Navicat for MySQL 导出中文乱码问题
  • 原文地址:https://www.cnblogs.com/panda-sweets/p/13730365.html
Copyright © 2020-2023  润新知