Я написал ключевое слово для тестера Testcase в моем Robot Testsuite. Который упоминается ниже:Как получить Возвращенное значение из ключевого слова под названием «Запустить ключевое слово» Если в Robot Framework?
*** Keyword ***
Result Evaluation
@{TRACEFILE} = evalVirdict ${value[2]}
:FOR ${ELEMENT} IN @{TRACEFILE}
\ Log ${ELEMENT}
\ Run Keyword if '${TEST STATUS}'=='FAIL' readerrlines ${ELEMENT}
В вышеприведенном Keyword evalVirdict
функция написана на Python и ${value[2]}
исходит из моих Testcases и в Run Keyword if '${TEST STATUS}' == 'FAIL' readerrlines ${ELEMENT}
части. Я вызываю другую функцию readerrlines
, которая возвращает некоторое значение. Определение readerrlines
функции ниже:
def readerrlines(tracefile):
errVal = []
for line in list(open(tracefile)):
line = line.strip()
mat = re.match(r'.*\s.*\s+:\s\*+(.*\s)\s{1}', line)
if mat:
err = mat.group(1).strip()
errVal.append(err)
return errVal
Здесь я хочу знать, как получить это возвращаемое значение из readerrlines функций в Run Keyword if '${TEST STATUS}' == 'FAIL' readerrlines ${ELEMENT}
?
Я пробовал Run Keyword if '${TEST STATUS}' == 'FAIL' @{errval} = readerrlines ${ELEMENT}
, но получил ошибку как несуществующую переменную @ {errval}, а также Run Keyword if '${TEST STATUS}' == 'FAIL' Set Variable @{errval} = readerrlines ${ELEMENT}
без ошибок и без вывода.