2016-06-02 12 views
0

Ich versuche, folgenden Code in Robot auszuführen und unter Fehler zu bekommen. Ich habe harte Zeit, herauszufinden, was falschPython Robot ungültige Rückgabe von Keyword-Verwendung

${job_id}= Run Keyword And Return If "${cur_build}" != "<my_Build>" perform software upgrade ${wd} <device_name> <my_build> 

Unterhalb der XML-Ausgabe ist.

Success: 0 Failed : 0 Skipped : 0 
Stop Delete</msg> 
<status status="PASS" endtime="20160602 02:22:51.590" starttime="20160602 02:22:10.415"></status> 
</kw> 
<msg timestamp="20160602 02:22:51.591" level="INFO">Returning from the enclosing user keyword.</msg> 
<status status="PASS" endtime="20160602 02:22:51.591" starttime="20160602 02:22:10.413"></status> 

</kw> 
<tags> 
<tag>draft</tag> 
<tag>upgrade</tag> 
</tags> 
<status status="FAIL" endtime="20160602 02:22:51.592" critical="yes" starttime="20160602 02:21:01.560">Invalid 'Return From Keyword' usage.</status> 

EDIT

So verstehe ich, dass Run Keyword und zurück, wenn nur in Keywords und nicht in Testfall verwendet werden. Aber wie würde ich etwas tun, wie unten in einem Testfall

if <some_cond>: 
    ${my_var}= <Keyword A> 
    Keyword B= ${my_var} 

Eine Möglichkeit könnte sein, mit neuen Keywords hinzufügen zu definieren, aber ist es eine Möglichkeit, das zu tun, in einem Testfall, ohne zu definieren anynew Stichwort

+0

Ihre Frage ist nicht klar genug, bitte geben Sie einige weitere Informationen, wie der Code verwendet, um .robot-Datei zu interpretieren. – YOBA

+0

Die von Ihnen gepostete Codezeile muss in einem Benutzerschlüsselwort enthalten sein. Es kann nicht in einem Testfall, Setup oder Teardown sein. Siehe http://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Return%20From%20Keyword – ombre42

+0

@ ombre42 Okay, ich verstehe das jetzt. –

Antwort

0

Bitte lassen Sie mich wissen, wenn unten Code dient Ihrem Zweck

*** Variables *** 
@{list1}   @{EMPTY} 
@{list2}   This is list list1 

*** Test Cases *** 
Conditional Test Case1 
    ${flag}= Set Variable If @{list1}[email protected]{EMPTY} ${true} ${false} 
    ${rc}= Run Keyword If ${flag}==${true} Log Multiple Values ${list1} 
    ${rc}= Run Keyword Unless ${flag}==${false} Log Multiple Values ${rc} 

Contitional Test Case2 
    ${flag}= Evaluate len(${list2}) is not None 
    ${rc}= Run Keyword If ${flag} == ${true} Log Multiple Values ${list2} 

*** Keywords *** 
Log Multiple Values 
    [Arguments] @{list_args} 
    [Documentation] This keyword logs its arguments and also returns them 
    Log Many @{list_args} 
    [Return] @{list_args} 
+0

'$ {rc} = Schlüsselwort ausführen Wenn $ {flag} == $ {true} Mehrere Werte protokollieren $ {list1}' Wenn $ {rc} den Rückgabewert von Log Multiple Values ​​aufheizen würde, dann suche ich genau danach zum. –

Verwandte Themen