机器人框架 - 将变量设置为字典列表(如果尚未设置)

问题描述 投票:0回答:1

我有一个变量

${agent}
,它可以是字典列表或字典

例如:

[{1:2}]
或简单地
{1:2}

如果变量已经是字典列表,则不执行任何操作,

${agent}
保持不变

如果变量类型是字典,则将其转换为字典列表并将其分配回同一个变量

操作前:

${agent} = {1:2}
手术后:
${agent} =[{1:2}]

我该怎么做? 我尝试了 Set Variable If 和 Run keywords If,但无法找到解决方案

robotframework
1个回答
2
投票

使用Python的函数

isinstance()
获取其类型,并根据其结果进行对话:

IF    isinstance($agent, dict) 
    ${agent}=   Create List    ${agent}    # create a new variable with the same name - a list, with one member, the old value
END

在这种情况下,

isinstance()
type()
更好,因为它将推进 dict 的子类。

并且

$var
(与
{var}
是直接访问变量,而不是其值。

© www.soinside.com 2019 - 2024. All rights reserved.