尝试创建字典时出现对象分配错误(Robot Framework)

时间:2017-11-07 20:53:04

标签: dictionary robotframework

我正在尝试根据xls电子表格中的数据创建字典。以下是我的代码。但是,当执行“设置为字典”(下面的代码片段的最后一行)时,我收到以下错误:TypeError:'unicode'对象不支持项目分配。关于我缺少的任何想法?

*** Settings ***
Library  ExcelLibrary
Library  Collections

*** Variables ***
${PageSheetName} =  Welcome Page
${WelcomeDict} =  Create Dictionary

*** Test Cases ***
Excel Sandbox Test
    Get Values from Spreadsheet
    #Print out the Dictionary

*** Keywords ***
Get Values from Spreadsheet
   # Open the file
   Open Excel Current Directory  ${Excel_File_Path}DataExtract.xls
   # Get the number of rows
   ${iTotalRows} =  Get Row Count  ${PageSheetName}
   # Loop through each row to get the data. Only need data from Columns A & B
   : FOR  ${iRowNum}  IN RANGE  1  ${iTotalRows}+1
   \  ${KeyVal} =  Read Cell Data By Name  ${PageSheetName}  A${iRowNum}
   \  ${Value} =  Read Cell Data By Name  ${PageSheetName}  B${iRowNum}
   \  Create the Welcome Page Dictionary  ${KeyVal}  ${Value}

Create the Welcome Page Dictionary
    [Arguments]  ${key}  ${val}
    Set To Dictionary  ${WelcomeDict}  ${key}  ${val}

1 个答案:

答案 0 :(得分:0)

考虑这段代码:

*** Variables ***
${WelcomeDict} =  Create Dictionary

它正在创建一个字符串变量,其值为" Create Dictionary"。您无法在*** Variables ***部分调用关键字。

来自robot framework user guide

  

变量表很方便,因为它们允许在与其他测试数据相同的位置创建变量,并且所需的语法非常简单。 它们的主要缺点是值始终是字符串,无法动态创建

如果您要初始化字典,请使用&,并且不要提供任何值:

*** Variables ***
&{WelcomeDict}=