キーワードを作成しました
Select Topic
[Arguments] @{input}
${cnt}= Get length @{input}
Log ${cnt}
そして、別のRobot Frameworkファイルでは、次のようなパラメータを使用してキーワードを呼び出しています。
select topic 1 2 3 4
したがって、期待される出力は4ですが、結果は7として表示されます(スペースを含みます)。
1 2 3 4
のようなものを渡すと、リテラル文字列1 2 3 4
である単一の引数を渡すことになります。 4つ以上の引数のリストを渡す場合は、各引数の間に2つ以上のスペースが必要です。
また、原則として、オブジェクト自体を参照する場合は、$
ではなく@
を使用する必要があります。 @
を使用すると、ロボットはリストを個別の引数に分割します。
これが実際の例です。キーワードを呼び出すときは各番号の間に2つのスペースがあり、$
を呼び出すときはget length
が使用されていることに注意してください。
*** Test Cases ***
test1
Select Topic 1 2 3 4
*** Keywords ***
Select Topic
[Arguments] @{input}
${cnt}= Get length ${input}
should be equal as numbers ${cnt} 4
キーワードは、リスト形式で1つの引数を期待しています。解釈を実行しているRobotFrameworkは、無効な数の引数に対して例外をスローします。リストを作成し、キーワードに渡します。
以下の解決策があなたのために働くはずです:
**** Test Cases ***
test1
${List1} Create List 1 2 3 4
Select Topic ${List1}
*** Keywords ***
Select Topic
[Arguments] @{input}
${cnt}= Get length @{input}
Log ${cnt}*