У меня проблема с правильным отображением определенного ключа в словаре в 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, первый проблемный символ - name = Á .., а с Ẽ не удалось преобразовать из 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
Привет, Хелио, спасибо за ответ, но у меня есть еще один вопрос: могу ли я принудительно кодировать файл RF-файла, как мы это делаем в python (# -- кодировка: utf-8 --)?