2016-12-05 7 views
0

Robot Frameworkを使用して、1番目のドロップダウンから値を選択し、2番目のドロップダウンから値を選択するループを作成しようとしています。その後、ユーザーは別のオプションを実行して、最初のループのすべての要素が選択されるまでループを繰り返し、繰り返します。Loop Iteration Robot Frameworkの場合

現在、私のコードは1番目のドロップダウンを完全に反復してから2番目のドロップダウンを完全に繰り返し、最後に両方のドロップダウンの最後の値で終了します。私は各ドロップダウンを一度に反復することができる必要があります。私は自分のコード&を関連するHTMLに含めました。

${one}=  Get List Items  id=CMB_CLASS_ID  //get all values from 1st drop down 
:FOR ${each}  IN @{one} 
\ Select From List By Label id=CMB_CLASS_ID  ${each} 
${two}=  Get List Items  id=CMB_EVENT_TYPE_ID //get all values from 2nd drop down 
:FOR ${each}  IN @{two} 
\ Select From List By Label id=CMB_EVENT_TYPE_ID ${each} 

<select name="CMB_CLASS_ID" id="CMB_CLASS_ID" onchange="GetClassData();" class="form-control" orgvalue="-1" tabindex="1"> 
    <option value="-1" master_value="" selected="true">- Not Selected -</option> 
    <option value="807000000" master_value="">Budget Lines</option> 
    <option value="712000000" master_value="">Documents</option> 
</select> 
<select name="CMB_EVENT_TYPE_ID" id="CMB_EVENT_TYPE_ID" xml_name="EVENT_TYPE_ID" onchange="GetEventData(this);" class="form-control" orgvalue="-1" tabindex="2"> 
    <option value="-1" master_value="" selected="true">- Not Selected -</option> 
    <option value="905000000" master_value="">Created</option> 
    <option value="906000000" master_value="">Updated</option> 
</select> 

答えて

2
ForInZip Iteration Example 
    ${one}=  Get List Items  id=CMB_CLASS_ID 
    ${two}=  Get List Items  id=CMB_EVENT_TYPE_ID 

    : FOR ${each1} ${each2} IN ZIP ${one} ${two} 
    \ Select From List By Label id=CMB_CLASS_ID  ${each1} 
    \ Select From List By Label id=CMB_EVENT_TYPE_ID ${each2} 

注:これはRobotFrameworkの2.9バージョンで導入されたので、あなたのバージョンと同じか

より大きい2.9

はそれが役に立てば幸いであることを確認しました!

0

リストから目的の要素が選択され、ループ全体を反復するのではなくループから出てくる条件を設定しようとしないのはなぜですか?コードごとに、ここで言及したことは間違いなく、それはリスト要素全体を横断し、要素を1つ選択し、2つ目の要素に移動するときに選択するということです。このプロセスは最後の要素まで続きます。

0

別の解決策は、キーワードのように、第2のループを維持し、以下のように最初のループからの呼び出しです:

${one}=  Get List Items  id=CMB_CLASS_ID  //get all values from 1st drop down 
:FOR ${each}  IN @{one} 
\ Select From List By Label id=CMB_CLASS_ID  ${each} 
\ ${two}=  Get List Items  id=CMB_EVENT_TYPE_ID //get all values from 2nd drop down 
\ SelectFromSecondDropdown ${two} 


****Keywords******** 
SelectFromSecondDropdown 
[Argument] ${two} 
:FOR ${each}  IN @{two} 
\ Select From List By Label id=CMB_EVENT_TYPE_ID ${each} 

はそれが役に立てば幸い!

+0

ループケースの内部にループが残っています! 2つの配列を同時にループするのではないですか? – Waman

関連する問題