机器人框架的评估返回编码错误



我正在使用Evaluate关键字创建数组的数组,如下所示:

${ARRAY}=   Evaluate    [['one', 'two', 'thrée']]
问题是在python 2求值之后变量${ARRAY}包含:
INFO : ${ARRAY} = [['one', 'two', 'thrxc3xa9e']]

问题是' ' '变成了xc3xa9。

在我的IDE中使用的编码是UTF-8,所以我猜它与python使用的默认编码有关。当运行以下脚本检查python中使用的编码时,我得到了这个:

cmd > python
Python 2.7.18 ... [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys;
>>> print(sys.stdin.encoding, sys.stdout.encoding)
('cp850', 'cp850')
>>> print(sys.getdefaultencoding())
ascii

所以我想知道我能做些什么来解决这个问题?我发现的大多数答案都与脚本更改有关,而不是由Robot Framework调用发起的内容。

手头没有py2可以尝试,如果将变量显式初始化为unicode:

${ARRAY}=   Evaluate    [['one', 'two', u'thrée']]

升级到python 3修复了这个问题。

最新更新