Robotframework:如何更新JSON字段值

2024-05-12 21:41:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用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


Tags: to框架logjson方式robotcomponentsvariable
1条回答
网友
1楼 · 发布于 2024-05-12 21:41:01

你不能那样设置变量。你必须不断提醒自己,机器人不是一种编程语言。您所做的就是创建了一个名为${JSON["Components"]["SubComponents"]}的变量。您不是在更新原始的${JSON}变量。在

如果使用关键字Log variables,则可以看到这一点。您将看到这个新关键字的名称看起来像字典。在

要更改字典的值,您需要使用关键字,如Set to dictionary

例如:

set to dictionary    ${JSON["Components"]}   Subcomponents=valueb

相关问题 更多 >