2017-06-29 5 views
-1

Below mein Skript ist:Bedingtes eine Variable in Robot Framework Inkrementieren

increment 
    ${delCount}= Set Variable 0 
    :FOR ${loopIndex} INRANGE 0 8 
    \ Log ${loopIndex} 
    \ ${delCount}= Run Keyword If '${loopIndex}'=='${3}' Run Keywords ${delCount+3} 
    \ ... ELSE IF '${loopIndex}'=='${6}' Run Keywords ${delCount+6} 
    \ ... ELSE Sleep 1s 
    Log ${delCount} 

Alles, was ich tun muß, ist die Variable, wenn die Bedingung erfüllt, zu erhöhen. Wie geht das? Ich versuchte unter:

Run Keywords auswerten $ {delCount} + $ {3}

Run Keywords $ {delCount} Variable $ = Eingestellte {delCount} + $ {3}

Run Keyword auswerten $ {} delCount

Antwort

1

So:

${delCount}= Set Variable 0 
:FOR ${loopIndex} IN RANGE 0 8 
\ Log ${loopIndex} 
\ ${delCount}= Run Keyword If ${loopIndex} == 3 Evaluate ${loopIndex} + ${delCount} 
\ ... ELSE IF ${loopIndex} == 6 Evaluate ${delCount} + 6 
\ ... ELSE Sleep 1s 
Log ${delCount} 
+0

Wenn 'loopIndex' ist nicht 3 oder 6,' delCount' wird auf 'None' eingestellt werden - denn das ist der Rückgabewert von' Schlaf 1s' ist. Also im letzten ELSE ersetzen Sie das mit 'Set Variable $ {delCount}' - und das wird seinen aktuellen Wert beibehalten. Daher wird eine weitere Bedingung für den Sleep benötigt - '\ Run Keyword Wenn $ {loopIndex} nicht in (3, 6) Sleep 1s', und es sollte gut sein. – Todor