2017-12-04 2 views
0

私は0を検証しようとしています< 4.3 < 6、私はRobotフレームワークの評価を試みましたが、結果が得られませんでした。フロートする文字列を変換する任意の方法を見つけ、それから私はこれを達成するためのPythonのクラスを書きましたが、すべての条件のためにそれはパス私はロボットのフレームワークより小さいとそれ以上の検証ができません

を示す

私のpythonコード:

def should_be_x_than_y (number1, relation, number2, relation1, number3): 

    if relation =="<" and relation1 == "<": 
     print(relation) 
     print (relation1) 
     print (number1) 
     print (number2) 
     print (number3) 
     **return float(number1) < float(number2) < float(number3)** 
    if relation ==">" and relation1 == ">": 
     return float(number1) > float(number2) > float(number3) 
    if relation =="=>" and relation1 == "<=": 
     return float(number1) >= float(number2) <= float(number3) 
    if relation =="<=" and relation1 == "=>": 
     return float(number1) <= float(number2) >= float(number3) 
    if relation =="=": 
     return float(number1) == float(number2) 

ロボットコード:

should_be_x_than_y 0 < ${words[0]} < 3 

値は4.3であるので、理想的にはケースが失敗する必要がありますが、それは

+0

失敗するには、例外を発生させる必要があります。単にFalseを返しても、テストは失敗しません。 –

答えて

2

なかったたぶん、元の問題が06は$ {}でなかったということでしょうか?

これが私の作品罰金

*** Variables *** 
@{words}  4.8 7.8 


*** Test Cases *** 
Test1 
    [Tags]        example 
    Run Keyword Unless  ${0} < ${words[0]} < ${6}  Fail 

Test2 
    [Tags]        example 
    Run Keyword Unless  ${0} < ${words[1]} < ${6}  Fail 

希望、それはあなたの問題ではないなら、私に知らせて、助けています!

============================================================================== 
Basic 
============================================================================== 
Test1                 | PASS | 
------------------------------------------------------------------------------ 
Test2                 | FAIL | 
AssertionError 
+0

いいえ、キーワードは明示的に引数を数値に変換しています。 –

+0

あなたは 'Keyword'と言うとき、' Run Keyword Unless'を意味しますか?私はPythonキーワードを全く必要としないソリューションを提供していました。彼の最初の問題は、_ 0 "4.3" 6、私はロボットのフレームワークを評価しようとしましたが、私は結果を得ることができませんでした "_ –

+0

_"あなたはキーワードを実行することを意味しますか?何を書きましたか。あなたのソリューションは機能します。あなたが小さな編集をする場合、私は自分のdownvoteを削除することができます。 –

1

あなたは、Robot Frameworkが文字列をFloatに変換できないと述べました。これはあなたのPython開発の基礎です。しかし、これは正しくありません。 Variablesにロボットフレームワークユーザガイドの中では述べて:以下の例に示すように

変数構文は、整数および 浮動小数点数の両方を作成するために使用することができる... BuiltIn Library

Convert to Numberのキーワードも浮動小数点数をサポートしています。

与えられた項目を浮動小数点数に変換します。オプションの 精度が正またはゼロの場合、返される数値は小数点以下の桁数に丸められます( )。

これは、通常のキーワードを使用して簡単に比較できることを意味します。

*** Variables *** 
@{words} 4.7 7.8 

*** Test Cases *** 
TC 
              Should Be X Than Y 0 < ${words[0]} < 6 
    Run Keyword and Continue on Failure Should Be X Than Y 0 < ${words[1]} < 6 

*** Keywords *** 
Should Be X Than Y 
    [Arguments] ${expression} 
    Run Keyword If  
    ... not(${expression})  
    ... Fail Number does not match Expression pattern. 

@Bryanオークリーによって強調されているように、代わりに値を返すの障害を生成するFailを使用することが重要です。

関連する問題