2011-09-28 6 views
10

¿Cómo puedo devolver los resultados después de ejecutar una palabra clave?¿Devuelve resultados en la palabra clave Robot Framework?

Ejemplo:

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

Pero quiero utilizar estos resultados:

${results} = mykey word newinput 
+1

¿Podría aclarar su pregunta? – Argote

+0

Lo más importante que debe saber sobre RF es que, si alguna vez ha programado en otro idioma, finja que no sabe nada de eso. (A menos que el idioma en cuestión sea BASIC, en cuyo caso, estará bien). –

Respuesta

23

El robot guía a los usuarios marco describe cómo devolver un valor a partir de una palabra clave. Consulte User keyword return values

La versión abreviada es: establece una variable en su palabra clave y utiliza el valor de [return] testcase para devolver esa variable.

ejemplo, usando el formato de texto plano tubería separada por:

*** 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 [Volver] para devolver resultados ejemplo es:

Time Stamp 

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

valor de $ {indicación_hora} se almacena en palabra clave

6

Time Stamp Un ejemplo sencillo puede ayudar:

*** 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

Edite su respuesta y agregue una descripción o información sobre cómo funciona para que otros puedan entenderla fácilmente. – koceeng

0

La manera más fácil es usar la etiqueta [Return] sugerida al final de su palabra clave, aunque existen otras formas.

Usando la palabra clave Establecer variable global, puede hacer que una variable sea accesible fuera de la palabra clave en la que se ejecuta sin tener que devolver nada de la palabra clave. Esto es útil si quiere evitar saturar su lista de variables principal y tener algunas variables en segundo plano, pero úsela con tanta precaución como lo haría con cualquier variable global.

Cuestiones relacionadas