【发布时间】:2015-09-23 19:20:37
【问题描述】:
我在我的机器人测试套件中为 Testcase 拆解写了一个关键字。如下所述:
*** 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,它返回一些值。 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} 出现错误,但没有错误,也没有输出。
【问题讨论】: