2011-09-28 11 views
10

Come posso restituire i risultati dopo aver eseguito una parola chiave?Restituisce i risultati nella parola chiave Robot Framework?

Esempio:

mykey word [Arguments] input 
    ${results}= getme input 

Ma voglio usare questo risultato:

${results} = mykey word newinput 
+1

Potrebbe chiarire la sua domanda? – Argote

+0

La cosa più importante da sapere su RF è, se hai mai programmato in qualsiasi altra lingua, fingere di non sapere nulla di tutto questo. (A meno che la lingua in questione fosse BASIC, nel qual caso, starai bene.) –

risposta

23

Il robot guida gli utenti quadro descrive come restituire un valore da una parola chiave. Vedi User keyword return values

La versione breve è: impostare una variabile nella parola chiave e utilizzare l'impostazione di testcase [return] per restituire tale variabile.

esempio, utilizzando il tubo separato formato solo testo:

*** Keywords *** 
| mykey word 
| | [Arguments] | ${input} 
| | ${string}= | set variable | the string is "${input}" 
| | [return] | ${string} 

*** Test Cases *** 
| Call custom keyword and get result 
| | ${results}= | mykey word | newinput 
| | log | ${results} 
3

uso [Invio] per restituire i risultati esempio è:

Time Stamp 

     [Return] ${time_stamp} 
     ${secs}= Get Time epoch 
     ${time}= Get Time 
     ${time_stamp}= Convert To String  ${secs} 

valore di $ {time_stamp} verrà memorizzato nella Time Stamp parola chiave

6

Un semplice esempio può aiutare:

*** Keywords *** 
Convert temperature F To Centigrade 
    [Arguments] ${ftemp} 
    ${ftemp} = Convert To Float ${ftemp} 
    ${ctemp} = ${0.9} * ${ftemp} - ${32} 
    [Return] ${ctemp} 

Convert temperature C To Fahrenheit 
    [Arguments] ${ctemp} 
    ${ctemp} = Convert To Float ${ctemp} 
    ${ftemp} = ${1.8} * ${ctemp} + ${32} 
    [Return] ${ftemp} 

*** Test Cases *** 
Verify Temperature Conversion 
    ${result} = Convert temperature F To Centigrade ${32} 
    Should Be Equal ${result} ${0} 
    ${result} = Convert temperature C To Fahrenheit ${0} 
    Should Be Equal ${result} ${32} 
0
#This Example will explain the usage of build in library Keywords 
#"Evaluate" ,"Log" and "Return" Setting by using Fahrenheit To Centigrade 
#conversion logic on the variable ${var1} 

*** Variables *** 
${var1}  32 
*** Keywords *** 
Convert temperature Fahrenheit To Centigrade 
    [Arguments] ${ftemp} 
    ${ftemp} = Convert To Number  ${ftemp} 
    ${ctemp} = evaluate (5 * (${ftemp} - 32))/9 
    [Return] ${ctemp} 


*** Test Cases *** 
Verify Temperature Conversion F to C 
    ${result} = Convert temperature Fahrenheit To Centigrade ${var1} 
    Log ${result} 
    Should Be Equal As Numbers ${result} 0.0 
+0

Modifica la tua risposta e aggiungi descrizione o informazioni su come funziona per far sì che gli altri possano capirlo facilmente – koceeng

0

Il modo più semplice è utilizzare il tag [Return] suggerito alla fine della parola chiave, anche se esistono altri modi.

Utilizzando la parola chiave Set Global Variable, è possibile rendere accessibile una variabile al di fuori della parola chiave in cui viene eseguita senza dover restituire nulla dalla parola chiave stessa. Questo è utile se vuoi evitare di ingombrare la tua lista di variabili principali e avere alcune variabili sedute sullo sfondo, ma usale con la stessa cautela di qualsiasi variabile globale.

Problemi correlati