如何从 运行 关键字 If 在 Robot Framework 中调用的关键字获取返回值?
How to get Returned value from a Keyword called under Run Keyword If in Robot Framework?
我在我的机器人测试套件中写了一个用于测试用例拆解的关键字。下面提到的是:
*** Keyword ***
Result Evaluation
@{TRACEFILE} = evalVirdict ${value[2]}
:FOR ${ELEMENT} IN @{TRACEFILE}
\ Log ${ELEMENT}
\ Run Keyword if '${TEST STATUS}'=='FAIL' readerrlines ${ELEMENT}
上面的关键字 evalVirdict
是一个用 python 编写的函数, ${value[2]}
来自我的测试用例和 Run Keyword if '${TEST STATUS}' == 'FAIL' readerrlines ${ELEMENT}
部分。我正在调用另一个函数 readerrlines
其中 returns 一些值。 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
这里我想知道如何从 Run Keyword if '${TEST STATUS}' == 'FAIL' readerrlines ${ELEMENT}
中的 readerrlines 函数获取这个返回值?
我已经尝试 Run Keyword if '${TEST STATUS}' == 'FAIL' @{errval} = readerrlines ${ELEMENT}
但得到一个错误作为不存在的变量 @{errval} 并且 Run Keyword if '${TEST STATUS}' == 'FAIL' Set Variable @{errval} = readerrlines ${ELEMENT}
没有错误也没有输出。
Run Keyword If
将 return 关键字的结果是 运行。因此,你会这样做:
${result}= Run Keyword If '${TEST STATUS}'=='FAIL' readerrlines ${ELEMENT}
我在我的机器人测试套件中写了一个用于测试用例拆解的关键字。下面提到的是:
*** Keyword ***
Result Evaluation
@{TRACEFILE} = evalVirdict ${value[2]}
:FOR ${ELEMENT} IN @{TRACEFILE}
\ Log ${ELEMENT}
\ Run Keyword if '${TEST STATUS}'=='FAIL' readerrlines ${ELEMENT}
上面的关键字 evalVirdict
是一个用 python 编写的函数, ${value[2]}
来自我的测试用例和 Run Keyword if '${TEST STATUS}' == 'FAIL' readerrlines ${ELEMENT}
部分。我正在调用另一个函数 readerrlines
其中 returns 一些值。 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
这里我想知道如何从 Run Keyword if '${TEST STATUS}' == 'FAIL' readerrlines ${ELEMENT}
中的 readerrlines 函数获取这个返回值?
我已经尝试 Run Keyword if '${TEST STATUS}' == 'FAIL' @{errval} = readerrlines ${ELEMENT}
但得到一个错误作为不存在的变量 @{errval} 并且 Run Keyword if '${TEST STATUS}' == 'FAIL' Set Variable @{errval} = readerrlines ${ELEMENT}
没有错误也没有输出。
Run Keyword If
将 return 关键字的结果是 运行。因此,你会这样做:
${result}= Run Keyword If '${TEST STATUS}'=='FAIL' readerrlines ${ELEMENT}