2016-09-06 24 views
0

カスタムキーワードは、Python 2.7で書かれて:カスタム書かれたRobot Frameworkキーワードに複数の引数を渡すには?

以下に示すように、予想通り、我々は、単一の行にその作業をparemetersを送信
@keyword("Update ${filename} with ${properties}") 
def set_multiple_test_properties(self, filename, properties): 
    for each in values.split(","): 
     each = each.replace(" ", "") 
     key, value = each.split("=") 
     self.set_test_properties(filename, key, value) 

"Update sample.txt with "test.update=11,timeout=20,delay.seconds=10,maxUntouchedTime=10" 

をしかし、我々は新しいと上記の行を変更する場合行(読みやすくするため)は機能しません。

Update sample.txt with "test.update = 11, 
         timeout=20, 
         delay.seconds=10, 
         maxUntouchedTime=10" 

これに関する手掛かりはありますか?

+1

複数の引数を指定する方法や、改行が埋め込まれた長い引数について質問していますか?あなたの質問のタイトルと本文は、2つの異なる質問をしているようです。 –

答えて

0

私はそれが動作するかどうかが、あなたのアプローチが機能していません。この

Update sample.txt with "test.update = 11, 
... timeout=20, 
... delay.seconds=10, 
... maxUntouchedTime=10" 
+0

あなたの答えをありがとう。上記の方法は機能しません。 RFWは、各行を別々のキーワードとして考えています。 – rcubefather

0

ようにしてみてくださいかどうかは非常にわからない、2行目は、「タイムアウトと呼ばれるキーワード(への呼び出しと考えられている原因= 20 ")、第3の別のものなどがある。区切り文字b/nの引数である "セル区切り"のため、3つのドットは機能しません。

あなたは可読性のために行くされている場合は、CATENATEのキロワット(それは文字列ライブラリにあります)を使用することができます:

${props}= Catenate  SEPARATOR=${SPACE} 
...  test.update = 11, 
...  timeout=20, 
...  delay.seconds=10, 
...  maxUntouchedTime=10 

をして、その変数を使ってキーワードを呼び出す:

Update sample.txt with "${props}" 

btw、a)デコレータ内のキーワード宣言に二重引用符がないと思われます。つまり、それらは引数の値の一部として扱われます.b)pyメソッドにエラーがあるようです。引数の名前は "プロパティ"ですが、itteratorは "values"を使用します。c)この目的のために、名前付きvarargs(** pythonではkwargs、RF構文では$ {kwargs)を使用することを検討したいかもしれません。できませんでした。

関連する問題