Robotframework - Evaluate关键字的返回值不会将所有数值存储在变量中

时间:2018-04-13 13:31:23

标签: testing robotframework

我试图使用Evaluate关键字计算一个值,但它似乎没有将完整的数字数字存储在变量$ {C1}中,但它似乎按照日志文件返回我想要的确切值。 / p>

这是我的示例代码。

${C1}    Evaluate    1.025**${C_IP_Years_Between}

这是日志:

${C1} = BuiltIn . Evaluate 1.025**${C_IP_Years_Between}
Documentation:  
Evaluates the given expression in Python and returns the results.

Start / End / Elapsed:  20180413 21:09:18.343 / 20180413 21:09:18.377 / 00:00:00.034
21:09:18.345    TRACE   Arguments: [ '1.025**11' ]  
21:09:18.376    TRACE   Return: 1.3120866578012655  
21:09:18.377    INFO    ${C1} = 1.3120866578

我如何能够使用上面返回的整个值(例如1.3120866578012655)

1 个答案:

答案 0 :(得分:1)

机器人变量${C1}是一个浮点数,因此它保留了所有精度。日志语句根本没有显示所有数字。

如果您将值显式转换为字符串,则可以看到所有数字。在以下示例中,测试应该通过:

*** Variables ***
${C_IP_Years_Between}  11

*** Test Cases ***
Example
    ${C1}=   Evaluate  1.025**${C_IP_Years_Between}
    ${C1f}=  Evaluate  '{0:.16f}'.format($c1)
    Should be equal as strings  ${C1f}  1.3120866578012655