我正在用robot框架编写一个测试。我试图更新json字段中的值,但是我看到一些奇怪的行为。在
我执行httpget并接收json。我查一下原来的值
Log To Console | ${JSON["Components"]["SubComponents"]}
它回来了
^{pr2}$然后我尝试更新如下值。在
${JSON["Components"]["SubComponents"]}= | Set Variable | valueB
如果我以这种方式记录输出
Log To Console | ${JSON["Components"]["SubComponents"]}
我明白了
valueB
但如果我这样检查
Log To Console | ${JSON["Components"]}
我明白了
{u'SubComponents': valueA, u'MoreComponents': whatever}
发生了什么,为什么没有更新?在
我需要更新JSON字段,这样我就可以做一个HTTP补丁了。 我试过遵循Json handling in ROBOT 但它不起作用,我想这和我的JSON文件有单引号有关。在
仅供参考,我不熟悉json和robotframework
你不能那样设置变量。你必须不断提醒自己,机器人不是一种编程语言。您所做的就是创建了一个名为
${JSON["Components"]["SubComponents"]}
的变量。您不是在更新原始的${JSON}
变量。在如果使用关键字Log variables,则可以看到这一点。您将看到这个新关键字的名称看起来像字典。在
要更改字典的值,您需要使用关键字,如Set to dictionary
例如:
相关问题 更多 >
编程相关推荐