finalshell日志乱码问题_【Robot Framework】日志输出及控制台中文乱码问题解决

fb19fb4bb2522e49a85bce0c49448172.png

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

一、日志输出乱码

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

a6baf52343b325ca5300d0c593a4fa18.png

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

463aa34617b13d73c8ad8f4f7033fb9b.png

Python2.7环境

步骤1:

Libsite-packagesrobotutils目录下,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编码格式替换。

3024d0f1b57edd61907468ffb5e60fb5.png

重启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启动无反应。

24568493a78caccd27f2b5672e6a98e7.png

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

Libsite-packagesrobotidecontribtestrunnertestrunnerplugin.py中565行

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

953d42e4607729db4e8b587ae683ae8d.png

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

709f6674e3a161d98997ce5a21e19d67.png

二、控制台乱码解决方法

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

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

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

9325c8a61168e9f678682291dab92ef3.png

RobotFramework自动化测试持续更新,谢谢支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值