Dictionary of Dictionary: TypeError: индексы списка должны быть целыми числами, а не юникодом - PullRequest
0 голосов
/ 27 февраля 2020

Моя цель здесь - иметь словарь, содержащий строку в качестве ключей и другие словари в качестве значений.

Поэтому я построил приведенный ниже код для перебора всех значений.

Однако я ' м с ошибкой: TypeError: list indices must be integers, not unicode.

*** Test Cases ***
...
:FOR    ${element}    IN    @{elements}
\    ${elementDictionary}=    Create Dictionary
\    Set To Dictionary    ${elementDictionary}    k1    ${v1}
\    Set To Dictionary    ${elementDictionary}    k2    ${v2}
\    Set To Dictionary    ${elementDictionary}    k3    ${v3}
\    Set To Dictionary    ${elementsDictionary}    ${k}    ${elementDictionary}
END

:FOR    ${elementKey}    IN    @{elementsDictionary}
\    @{element}=    Get From Dictionary    ${elementsDictionary}    ${elementKey}
\    Browse Dictionary Value    @{element}
\    Log To Console      ----------------------
END

*** Keywords ***
Browse Dictionary Value
    [Arguments]    @{dictionary}
    :FOR    ${key}    IN    @{dictionary}
    \    ${value}=    Get From Dictionary    ${dictionary}    ${key}
    \    Log To Console    ${key}    
    \    Log To Console    ${value}
    END

В строке произошла ошибка: ${value}= Get From Dictionary ${dictionary} ${key}

Не могли бы вы мне помочь? Большое спасибо.

Решение

Используется ${element} вместо @{element}

1 Ответ

1 голос
/ 27 февраля 2020

Используйте Get Dictionary Keys для извлечения ключей словаря и l oop этот список вместо @{dictionary} в этом ключевом слове Browse Dictionary Value.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...