If statement 条件失败时的机器人框架
为什么当${orderrowlist}包含数据(它是一个列表列表)时,if子句不正确 我在这之前以及之后直接记录下订单行列表。第一次记录列出了预期的数据,而第二次记录时,If statement 条件失败时的机器人框架,if-statement,robotframework,If Statement,Robotframework,为什么当${orderrowlist}包含数据(它是一个列表列表)时,if子句不正确 我在这之前以及之后直接记录下订单行列表。第一次记录列出了预期的数据,而第二次记录时,orderrowlist的内容被tmp 当${orderrowlist}包含数据(它是一个列表列表)时,为什么if子句不正确 ${orderrowlist}=Run关键字如果'${orderrowlist}'=='${EMPTY}'设置变量${tmp} 当${orderrowlist}不为空时,为什么为false?因为非空列表不
orderrowlist
的内容被tmp
当${orderrowlist}包含数据(它是一个列表列表)时,为什么if子句不正确
${orderrowlist}=Run关键字如果'${orderrowlist}'=='${EMPTY}'设置变量${tmp}
当${orderrowlist}
不为空时,为什么为false?因为非空列表不等于空字符串
第一个日志记录列出了预期的数据,而在第二个日志记录中,orderrowlist的内容被替换为tmp的内容
这是因为您显式地将变量的值设置为关键字的结果
通常,要根据条件设置变量,您应该使用而不是。对于前者,您可以提供两个值:一个是条件为真,另一个是条件为假。如果希望变量保持不变,可以使用现有值作为“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
那么我该如何表述呢?如果orderrowlist是空的,我想用tmp填充它,否则什么都没有。“为什么当${orderrowlist}不为空时它为假?因为非空列表不等于空字符串。”-然后,
orderrowlist
的内容不能被tmp
替换-但它是!?
*** 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