如何为机器人框架中的不同变量名分配关键字的返回?

Posted

技术标签:

【中文标题】如何为机器人框架中的不同变量名分配关键字的返回?【英文标题】:How to assaign the return of a keywod for different variable names in robot framework? 【发布时间】:2022-01-13 09:55:49 【问题描述】:

我创建了一个关键字“获取信息”,我想将返回的关键字“获取信息”保存为变量。我使用这个关键字多次,我想将返回值保存在不同的变量中。

为了更好地理解:

get information  Peter  age
return: 30

get information Maria  gender
return: female

我现在想创建一个用户关键字“信息确定”,以便我可以创建多个具有不同名称的变量。

我创建了一个包含三个参数的用户关键字。第一个参数应该是变量的名称,应该是关键字“获取信息”的返回

***Keywords***
Information determination  
   [Arguments]  $specification  $name  $information
   $specification=  get information  $name  $information

***Test Cases***
Information test
  Information determination  Peters_age  Peter  age
  Log To Console  $Peters_age

Output: Variable '$Peters_age' not found.  |FAIL|

参数名称和信息的关键字“获取信息”的返回应保存为具有用户关键字第一个参数名称的变量。

我尝试的另一个选项是我在“变量”部分定义了我的变量,但它似乎不起作用。

***Variables***
$Peters_age=  get information  Peter  age

***Test Cases***
Information test
   Log To Console   $Peters_age

Output: get information  Peter  age

关键字的返回不会保存为变量而是文本。

如果有人对我的问题有提示或解决方案,我会很高兴。谢谢!

【问题讨论】:

【参考方案1】:

您可以使用Set test variable 在测试范围内设置变量。变量名本身可以由一个变量组成。

例子:

Information determination
    [Arguments]  $varname  $name  $information
    $data=  Get information  $name  $information
    Set test variable  \$$varname  $data

在上面的例子中,如果$varname在字符串Peter_age中被传递,那么变量$Peter_age将被设置用于测试。

【讨论】:

以上是关于如何为机器人框架中的不同变量名分配关键字的返回?的主要内容,如果未能解决你的问题,请参考以下文章

分发键如何为GreenPlum分段分配数据

如何为机器上的所有 Bash 实例建立“共享”变量? [复制]

如何为 geom_tile 中的每个变量添加单独的图例?

如何为使用未知变量调用的对象获取智能感知?

如何为每个属性定义具有不同计时功能的 CSS 动画?

带有变量分配的机器人框架中的 IF ELSE