私には2つの変数があります:
${calculatedTotalPrice} = 42,42
${productPrice1} = 43,15
実行しました
${calculatedTotalPrice} Evaluate ${calculatedTotalPrice}+${productPrice1}
私は得た
42,85,15
どうすれば解決できますか?
デフォルトでは、変数はRobotの文字列です。したがって、最初の2つのステートメントは、「xx、yy」のような文字列を変数に割り当てています。次に、「evaluate」は、Pythonのようにステートメントを実行するだけです。したがって、2つの文字列をコンマで追加すると、リストが生成されます。
$ python
>>> 1,2+3,4
(1, 5, 4)
したがって、$ {}とを使用して 数値変数 を使用する必要があります。 (ドット)この例のようなセパレーターの場合:
*** Test Cases ***
sum of variables
${calculatedTotalPrice} = set variable ${42.42}
${productPrice1} = set variable ${43.15}
${calculatedTotalPrice} = Evaluate ${calculatedTotalPrice}+${productPrice1}
log to console ${calculatedTotalPrice}
これにより、次のものが生成されます。$ pybot test.robot
==============================================================================
Test
==============================================================================
sum of variables ...85.57
==============================================================================
Laurentの答えはほとんどの場合最良のコースですが、何らかの理由でRobot変数を数値を含む文字列にする必要がある場合は、Evaluate呼び出し内でそれらを数値に変換することもできます。
*** Test Cases ***
Test1
${I1} = set variable 10
${I2} = set variable 5
${F1} = set variable 42.42
${F2} = set variable 57.15
${ISUM} = Evaluate int(${I1}) + int(${I2})
${FSUM} = Evaluate float(${F1}) + float(${F2})
log to console ${ISUM} ${FSUM}
これにより、次の出力が得られます。
Test1 ......15 99.57