乱码"/>
robotframework常见问题之日志不显示乱码
1. RobotFramework运行中断后或重复运行后,ride中经常会出现控制面板不显示日志信息?
原因分析:可能是编码不支持中文
解决:进入自己本地python安装目录,修改"C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py"文件方法中"return result.decode(‘UTF-8’)" 改为 “return result.decode(‘gbk’,‘ignore’)”。
PS:如还没解决,在包含执行用例的测试套件的Suite Teardown字段,添加Close Browser
2. Robot Framework 框架运行,Log显示中文乱码问题?
如这样:\u3e4d2\u77hhjj
原因分析:显示的乱码其实是Unicode编码格式,并不算Bug,只是显示问题
解决:
(1) 找到robotframework 安装目录下的unic.py文件,我的目录是/Library/Python/2.7/site-packages/robotframework-3.0.4-py2.7.egg/robot/utils/unic.py,在unic.py文件中插入如下代码:
import json
if isinstance(item,(list,dict,tuple)):try:item = json.dumps(item,ensure_ascii=False,encoding='utf-8')except UnicodeError:try:item = json.dumps(item, ensure_ascii=False, encoding='utf-8')except:passexcept:pass
如下图
(2) 然后重启ride编辑器,再运行脚本,看Log中文显示是否正常
2.1 如果显示不正常,查看Python默认的编码方式
a. cmd 打开终端
b. 输入python
c. 输入import sys
d. 输入sys.getdefaultencoding()
查看python 的默认编码方式是不是utf8,不是将其改为utf8,步骤如下:
在Python的Lib、site-packages活页夹下新建一个sitecustomize.py文件,内容为:
#coding=utf8
import sys
reload(sys)
sys.defaultencoding(‘utf8’)
重启Python编辑器,输入2.1的命令确认编码是否被设置为utf8
更多推荐
robotframework常见问题之日志不显示乱码
发布评论