2016-08-06 4 views
0

リストをスイート変数としてエクスポートするキーワードを作成しようとしていますが、名前を変数名に変換する方法を理解できません。ロボットフレームワーク、リストに名前を付ける汎用関数

*** Test Cases *** 
Get Ref 
    ${list} = Create List  k l m n e 
    Rename List myName ${list} 
    log  @{myName} 


*** Keywords *** 
Rename List 
    [Arguments] ${name} ${values} 
    log  first: ${values[1]} 
    @{name}=  Create List ${values[1]} ${values[3]} 
    set suite variable @{name} 

キーワードは文字列とリストを取り、より小さいリストを作成し、提供された名前文字列でエクスポートします。 ユースケースとして、Webページのドロップダウンリストから値を取得し、項目1,3、および5だけを指定した名前の新しいリストとして返す汎用関数が必要です。この方法で、別の名前で複数回呼び出すことができ、後で使用できる別のリストを書き出すことができます。 この作業を行う方法はありますか?

+0

代わりに ''リストがmyNameの$ {リスト}を名前変更のため、なぜちょうど '$ {がmyName}を使用=リスト$の名前を変更しません{list} 'か' $ {myName} =リスト@ {list} 'を作成するだけですか?キーワードの名前を渡すのはどういう意味ですか? –

+0

私はそれを複数回呼び出せるようにしたいので、1つのスイート内に複数のリストを作成し、それぞれに固有の名前を付けることができます。あなたが提案する最初のオプションは実行可能なソリューションです.2番目の関数は関数内での操作(分割、設定変数など)を許可しません。よりエレガントなものを望んでいますが、おそらく私は欲しい、何がうまくいかない。 – Luxifer

+0

訂正(編集が遅すぎるため)、私は新しいリストのスイート変数を呼び出す必要があるので、私にとってはうまくいきません。 – Luxifer

答えて

2

私が正しく質問を理解場合、これは、あなたがやりたいようだ:

*** keywords *** 
rename list 
    [Arguments] ${name} ${values} 
    ${new}= create list @{values} 
    set suite variable ${${name}} ${new} 
+0

これは素晴らしいです。前に$ {$ {name}}メソッドを使ってみましたが、これは好きではありませんでした。私が作った唯一の変更は 'set suite variable @ {$ {name}} @ {new}'を使うことでした。 – Luxifer

関連する問題