Как вернуть результаты после запуска ключевого слова?
Пример:
mykey word [Arguments] input
${results}= getme input
Но я хочу использовать эти результаты:
${results} = mykey word newinput
Как вернуть результаты после запуска ключевого слова?
Пример:
mykey word [Arguments] input
${results}= getme input
Но я хочу использовать эти результаты:
${results} = mykey word newinput
Руководство пользователя системы роботов описывает, как вернуть значение из ключевого слова. См. Значения возвращаемых значений ключевого слова
Краткая версия: установите переменную в ключевое слово и используйте параметр [return]
testcase, чтобы вернуть эту переменную.
Пример, используя простой текстовый формат, разделенный на трубы:
*** 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}
Простой пример может помочь:
*** 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}
используйте [Return], чтобы возвращать результаты Пример:
Time Stamp
[Return] ${time_stamp}
${secs}= Get Time epoch
${time}= Get Time
${time_stamp}= Convert To String ${secs}
Значение ${time_stamp} будет сохранено в ключевом слове Time Stamp
#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
Самый простой способ - использовать предложенный тег [Return] в конце вашего ключевого слова, хотя существуют другие способы.
Используя ключевое слово Set Global Variable, вы можете сделать переменную доступной вне ключевого слова, в которой она выполняется, без необходимости возвращать что-либо из самого ключевого слова. Это полезно, если вы хотите избежать загромождения списка основных переменных и иметь несколько переменных, сидящих в фоновом режиме, но использовать его с такой же осторожностью, как и любая глобальная переменная.