如何使用机器人framewrok根据列表中的键获取特定值?

时间:2019-09-18 06:39:41

标签: python robotframework

我正在尝试使用Robot框架从逗号分隔的列表中读取值。我在测试以下代码时遇到问题

我已经尝试过机器人框架代码

 Method.robot
 @{list}=[('Param_Name', 'Param_Value'), ('res_name', 'res123'), ('id', 
 '931')]
 ReadCSV
   [Arguments]       ${paramname}
    ${dict1}=    Set Variable     ${list}
    ${values}=    Set Variable    ${dict1[0]}[${paramname}]
    [return]  ${values}


 RobotFile.robot
   ${Read_Name}=    ReadCSV        res_name
   log to console        ${Read_Name} #prints None

 Error:when executing RobotFile.robot
 List '${dict1[0]}' used with invalid index 'res_name'.

预期:res123 实际:无

1 个答案:

答案 0 :(得分:1)

那是元组列表,而不是字典。这就是为什么您不能直接通过键访问索引的原因。

如果您仍然想要一个元组列表,则应首先遍历该列表,并评估第一个值是否为“键”,然后访问该值。

ReadCSV
[Arguments]    ${paramname}
: FOR    ${list_item}     IN    @{list}
\    ${values}=    Run Keyword If    '${list_item[0]}' == '${paramname}'    Set Variable    ${list_item[1]}    ELSE    Set Variable    ${None}
\    Run Keyword If    '${list_item[0]}' == '${paramname}'    Exit For Loop
[Return]  ${values}