RobotFramework中两个变量的总和

buu*_*eey 7 python automated-tests robotframework

我有两个变量:

${calculatedTotalPrice} = 42,42

${productPrice1} = 43,15
Run Code Online (Sandbox Code Playgroud)

我执行了

${calculatedTotalPrice}     Evaluate ${calculatedTotalPrice}+${productPrice1}
Run Code Online (Sandbox Code Playgroud)

我有

42,85,15
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

Lau*_*iel 13

默认情况下,变量是Robot中的字符串.因此,您的前两个语句是将"xx,yy"等字符串分配给您的vars.然后"评估"只是像Python那样执行你的语句.因此,使用逗号添加两个字符串将生成一个列表:

$ python
>>> 1,2+3,4
(1, 5, 4) 
Run Code Online (Sandbox Code Playgroud)

所以,你应该用数量变量使用$ {}和.(点)用于分隔符,如下例所示:

*** Test Cases ***
sum of variables
  ${calculatedTotalPrice} =    set variable    ${42.42}
  ${productPrice1} =    set variable    ${43.15}
  ${calculatedTotalPrice} =    Evaluate    ${calculatedTotalPrice}+${productPrice1}
  log to console  ${calculatedTotalPrice}
Run Code Online (Sandbox Code Playgroud)

这将产生:$ pybot test.robot

==============================================================================
Test
==============================================================================
sum of variables                                                      ...85.57
==============================================================================
Run Code Online (Sandbox Code Playgroud)


小智 5

在 robotsframework 中添加两个变量而不需要调用关键字的最简单方法:在 VARIABLES 部分中声明它

*** Variables ***
${A1}               ${1}
${A2}               ${2}
${A3}               ${${A1}+${A2}}
Run Code Online (Sandbox Code Playgroud)

那么${A3}的输出是:3