没有名称为' ='的关键字在机器人中找到

时间:2014-11-13 15:49:52

标签: json keyword robotframework

我在机器人框架中编写了一个测试用例。我在下面的json字符串中得到了响应:

{"responseTimeStamp":"1970-01-01T05:30:00",
 "statusCode":"200",
 "statusMsg":"200",
 "_object":{"id":"TS82",
            "name":"newgroup",
            "desc":"ttesteste",
            "parentGroups":[],
            "childGroups":[],
            "devices":null,
            "mos":null,
            "groupConfigRules" {
                "version":null,
                "ruleContents":null
            },
            "applications":null,"type":0
           }
}

由此我想采取" _object"使用:

${reqresstr}        =       ${response['_object']}

...但我收到了错误"没有名称的关键字' ='发现"错误

如果我尝试以下方法:

${reqresstr}=       ${response['_object']}

...我收到错误"关键字名称不能为空。"我尝试删除' ='但仍然会得到同样的错误。

如何提取' _object'从那个json字符串?

3 个答案:

答案 0 :(得分:1)

当使用“=”进行具有空格分隔格式的变量赋值时,必须确保在“=”周围只有一个空格。您的第一个示例显示您在“=”的两侧都有多个空格。您必须在任一侧只有一个空格,否则机器人会认为空格是关键字和参数之间的分隔符。

对于“关键字不能为空”错误,变量名后面的第一个单元格必须是关键字。与传统编程语言不同,您无法直接将字符串分配给变量。

要将变量设置为字符串,您需要使用Set Variable关键字(或其中一种变体,例如Set Test Variable)。例如:

${reqresstr}=      Set variable  ${response['_object']}

答案 1 :(得分:0)

${reqresstr}= '${response["_object"]}'

=

之后将其包含在引号和两个空格内

答案 2 :(得分:-1)

命令中存在语法错误。确保${reqresstr}=之间有空格。

使用上面的示例:

${reqresstr} =   ${response['_object']}