当$ {orderrowlist}包含数据(它是列表的列表)时,为什么这个if子句不成立?
${orderrowlist}= Run Keyword If '${orderrowlist}'== '${EMPTY}' Set variable ${tmp}
在此之前和之后我都登录orderrowlist
。第一个日志记录列出了预期的数据,而第二个日志记录则将orderrowlist
的内容替换为tmp
的内容
答案 0 :(得分:1)
当$ {orderrowlist}包含数据(它是列表的列表)时,为什么if子句不成立?
${orderrowlist}= Run Keyword If '${orderrowlist}'== '${EMPTY}' Set variable ${tmp}
当${orderrowlist}
不为空时,为什么为假?因为非空列表不等于空字符串。
第一个日志记录了预期的数据,而第二个日志记录中,orderrowlist的内容被替换为tmp的内容
这是因为您将变量的值显式设置为关键字的结果。
通常,要根据条件设置变量,应使用Set variable if而不是Run keyword if。使用前者,您可以提供两个值:如果条件为true,则为一个,如果为false,则为一个。如果希望变量保持不变,则可以将现有值用作“ false”值。
这是一个例子:
*** Variables ***
${var} original value
*** Test Cases ***
Example
${var}= set variable if '${var}' == '${EMPTY}' new value ${var}
should be equal as strings ${var} original value
${var}= set variable if '${var}' == 'original value' new value ${var}
should be equal as strings ${var} new value