在Robotframework中编码问题打印字典?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (499)

我有一个问题是在Robotframework中正确显示字典中的特定键。

我有一把关键字的字典(latin-1 chars):

${dict}=     create dictionary  Nº Cartão=123

当我尝试使用变量dict时,日志显示:

{u'N\xba Cart\xe3o': u'123'}

如果我把字符串放在一个简单的变量中:

${dict2}=     set variable     Nº cartão

日志显示:

Nº Cartão

也直接在python中:

logger.console(dict)

keys = dict.keys()
logger.console(keys[0])

日志显示:

{u'N\xba Cart\xe3o': u'123'}
Nº Cartão

我该如何正确打印?谢谢。

提问于
用户回答回答于

你必须确认文件编码是utf-8(我在使用WINDOWS-1252或ISO-8859-15时遇到错误,第一个有问题的char是name =Á..,而且Ẽ无法从utf-8转换) 。

以下测试在Linux中运行RobotFramework 3.0.4(在Python 2.7.15和3.6.6中)运行良好。

*** Settings ***
Library           Collections

*** Variables ***
&{pc_dict}        one=1    2=2    ${3}=3    name=PC
&{ont_dict}       one=1    ${3}=3    name=ÁÇÕª    2=2

*** Test Cases ***
Example
    ${result}=    Run Keyword And Return Status    Dictionaries Should Be Equal    ${pc_dict}    ${ont_dict}

Key test
    &{dict}=    create dictionary    Nº Cartão=123
    Log Dictionary    ${dict}
    Collections.Dictionary Should Contain Key    ${dict}    Nº Cartão

扫码关注云+社区

领取腾讯云代金券