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:
       		pass
	except:
           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

猜你喜欢

转载自blog.csdn.net/weixin_42166361/article/details/104789890