robotframework2.8.7日志输出List乱码

今天在完善robotframework的数据分离的时候,需要读取list中的中文信息,在日志输出中,英文显示是正常的;但是中文就出现所谓的乱码情况,如截图所示

对于list中的信息,日志显示乱码;查找资料是内部编码造成的,网上有很多都是robotframework3.0的解决办法,但是我本机安装的是2.8.7,发现3.0的解决方法不适用于2.8....

后来发现所要修改的文件仍是C:\Python27\Lib\site-packages\robot\utils目录下的unic.py这个文件,这里是修改文件的截图,如图所示

注意:要导入json包

源文件下载地址:链接: https://pan.baidu.com/s/1jIQn3X8 密码: cqny

源码:注意前后缩进

 1     # time:2017-11-17
 2     # consult:http://blog.csdn.net/Allan_shore_ma/article/details/65441853?locationNum=10&fps=1
 3     # Resolved Chinese mess code.
 4     if isinstance(item,(list,dict,tuple)):
 5         try:
 6             item = json.dumps(item,ensure_ascii=False,encoding=‘cp936‘)
 7         except UnicodeDecodeError:
 8             try:
 9                 item = json.dumps(item,ensuer_ascii=False,encoding=‘cp936‘)
10             except:
11                 pass
12         except:
13             pass

修改文件完成之后,将robotframework重启,再次打卡运行此用例,终于显示正常\(^o^)/~,如图所示

这里参考了  http://blog.csdn.net/Allan_shore_ma/article/details/65441853?locationNum=10&fps=1,编码问题说明的很透彻!!!非常赞

时间: 2024-10-16 06:22:47

robotframework2.8.7日志输出List乱码的相关文章

springboot彩色日志输出乱码

<!--0. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> <conversionRule conversionWord="wex" converterClas

Xcode 8 日志输出乱码问题

更新到Xcode 8的同学应该都遇到了这个问题:用Xcode 8运行项目,日志会疯狂的刷,就像下面这种图一样: 日志输出 于是,简单搜寻了下,“歪果仁”给出了如下解决方法: Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加 OS_ACTIVITY_MODE = disable

jenkins 控制台输出中文乱码

jenkins在执行构建任务时会在 console output 进行任务的日志输出,但中文输出会乱码,如下图 解决办法: Manage Jenkins --->  系统配置 ---> 全局属性 ,添加键值对 原文地址:https://www.cnblogs.com/xingphimo/p/11103984.html

IntelliJ IDEA控制台启动Tomcat输出中文乱码问题

IntelliJ IDEA控制台输出中文乱码问题 1. 先解决Tomcat中文乱码问题 参考  Tomcat 输出日志出现中文乱码 2. 解决Idea配置问题 2.1 选择项目部署的tomcat,在配置项VM options文本框中输入-Dfile.encoding=UTF-8,点击Apply或OK即可. 2.2 打开IntelliJ IDEA本地安装目录中bin文件夹下的idea.exe.vmoptions和idea64.exe.vmoptions这两个文件.分别在这两个文件内容的末尾添加-D

log4j(五)——如何控制不同目的地的日志输出?

一:测试环境与log4j(一)--为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; import java.io.*; public class UseLog4j { //日志记录器 private static Logger LOGGER = LogManager.getLogger(UseLog4j.class); //程序入口--主函数 public static void main(String[]a

python日志输出

import logging logger = logging.getLogger()  #生成一个日志对象,()内为日志对象的名字,可以不带,名字不给定就是root handler=logging.FileHandler("Log_test.txt")  #生成一个handler(处理器), #formatter 下面代码指定日志的输出格式 fmt = '%(asctime)s - %(filename)s:%(lineno)s - %(name)s - %(message)s' f

日志输出--C#

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; //添加引用,并导入命名空间 using System.Management; using System.Net.NetworkInformation; using System.IO; //日志输出类 public void SWriter(string ipname) { stri

如何快速的把日志输出到磁盘上

不管是做客户端业务,还是做服务端业务,日志子系统都是非常重要的一个组件. 日志系统的输出目的地可以是disk,也可以是tty,更可以是network. 我的日志系统可以输出到tty,不同log level可以有不同的color,这样看日志非常的醒目,当然这里着重谈的是如何快速的把log内容写到磁盘上. 其实,如何快速的把log内容写到磁盘上,网上文章已经汗牛充栋,真正高质量的没多少,本篇可能也是狗尾续貂之作.不过,我的log子系统能够达到106M/s的输出速率. 详细介绍我的log系统之前,推荐

Python之向日志输出中添加上下文信息

除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名.这里我们来介绍以下几种实现方式: 通过向日志记录函数传递一个extra参数引入上下文信息 使用LoggerAdapters引入上下文信息 使用Filters引入上下文信息 一.通过向日志记录函数传递一个extra参数引入上下文信息 前面我们提到过,可以通过向日志记录函数传递一个extra参数来实现向日志输出