Кодирование проблем печати словаря в Robotframework - PullRequest
0 голосов
/ 12 сентября 2018

У меня проблема с правильным отображением определенного ключа в словаре в Robotframework.

У меня есть словарь с этим ключом (латинские буквы 1):

${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

Как мне правильно распечатать? Спасибо.

1 Ответ

0 голосов
/ 14 сентября 2018

Вы должны подтвердить, что кодировка файла - utf-8 (я получил ошибки при использовании WINDOWS-1252 или ISO-8859-15, первый проблемный символ - имя = Á .., а с помощью Ẽ не удалось преобразовать из utf -8).

Следующий тест отлично работает с RobotFramework 3.0.4 (в Python 2.7.15 и 3.6.6) в Linux.

*** 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...