2017-02-24 35 views
0

我有一个for循环,里面有一个If语句。我无法正确执行if语句。日志说,没有关键字= 有什么可能是这个问题?Robotframework IF

:FOR ${Line} IN @{Lines} 
    \ Run keyword If ${Line_Count} == 1 
    \ ... ${File}= BuiltIn.Catenate SEPARATOR=\n ${File} ${Line} 
+0

您可能需要使用调查[设置变量如果(http://robotframework.org/robotframework/latest/ libraries/BuiltIn.html#Set%20Variable%20If) –

回答

1
:FOR ${Line} IN @{Lines} 
\ ${File}= Run keyword If '${Line_Count}' == '1' Catenate SEPARATOR=\n ${File} ${Line} ELSE Set Variable ${File} 

解释 - 如果$ {行计数} = -1,因为没有ELSE分支设置它,在$ {文件}将被废止,值。因此,通过添加它并使其返回其原始值,该情况得以解决。

(您就可以在内置的run_keyword_if)这种行为(和_split_elif_or_else_branch()来源)

1

尝试这种方式

:FOR ${Line} IN @{Lines} 
    \ ${File}= Run keyword If '${Line_Count}' == '1' BuiltIn.Catenate SEPARATOR=\n ${File} ${Line} 
+0

看起来不错,但返回值=无,为什么? –

+0

FOR循环之前变量'$ {File}'的值是什么? – Rakesh

+0

文件将包含字符串,我将它们链接起来,然后保存到文件中。有一个问题,因为我有一个空行(因为我用第一行链接了一个“空字符串”,而分隔符是\ n。所以我想在第一个字符串之前更改分隔符。 –