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