Robot Framework:使用 if-else 语句分配变量
Robot Framework: assign variable with if-else statement
我使用最新的机器人框架。
我需要根据参数的值为我的变量赋值。在 JavaScript:
中就是这样
ITEM_SELECTOR = RECENT_ITEM_SELECTOR + (
position === 'last' ? ':last-child' : ':nth-child' + '(' + position + ')'
)
这就是我尝试在 Robot Framework 中编写它的方式:
${ITEM_SELECTOR} = Run Keyword If ${position} == 'last' ${RECENT_ITEM_SELECTOR}:last-child
... ELSE ${RECENT_ITEM_SELECTOR}:nth-child(${position})
但是这样 ${RECENT_ITEM_SELECTOR}:nth-child(${position})
被认为是关键字,而不是分配给 ITEM_SELECTOR
。
然后我尝试用 No Operation
预先添加它,但随后我的 return 值被认为是它的参数,我得到 Keyword 'BuiltIn.No Operation' expected 0 arguments, got 1.
怎么写?
由于您正在调用 run keyword if, you have to give it a keyword to run. You can use set variable 以使您的代码正常工作:
${ITEM_SELECTOR} = Run Keyword If ${position} == 'last'
... Set variable ${RECENT_ITEM_SELECTOR}:last-child
... ELSE
... Set variable ${RECENT_ITEM_SELECTOR}:nth-child(${position})
但是,您也可以使用 set variable if 来获得更紧凑和更易读的解决方案:
${ITEM_SELECTOR} = Set variable if ${position} == 'last'
... ${RECENT_ITEM_SELECTOR}:last-child
... ${RECENT_ITEM_SELECTOR}:nth-child(${position})
我使用最新的机器人框架。 我需要根据参数的值为我的变量赋值。在 JavaScript:
中就是这样ITEM_SELECTOR = RECENT_ITEM_SELECTOR + (
position === 'last' ? ':last-child' : ':nth-child' + '(' + position + ')'
)
这就是我尝试在 Robot Framework 中编写它的方式:
${ITEM_SELECTOR} = Run Keyword If ${position} == 'last' ${RECENT_ITEM_SELECTOR}:last-child
... ELSE ${RECENT_ITEM_SELECTOR}:nth-child(${position})
但是这样 ${RECENT_ITEM_SELECTOR}:nth-child(${position})
被认为是关键字,而不是分配给 ITEM_SELECTOR
。
然后我尝试用 No Operation
预先添加它,但随后我的 return 值被认为是它的参数,我得到 Keyword 'BuiltIn.No Operation' expected 0 arguments, got 1.
怎么写?
由于您正在调用 run keyword if, you have to give it a keyword to run. You can use set variable 以使您的代码正常工作:
${ITEM_SELECTOR} = Run Keyword If ${position} == 'last'
... Set variable ${RECENT_ITEM_SELECTOR}:last-child
... ELSE
... Set variable ${RECENT_ITEM_SELECTOR}:nth-child(${position})
但是,您也可以使用 set variable if 来获得更紧凑和更易读的解决方案:
${ITEM_SELECTOR} = Set variable if ${position} == 'last'
... ${RECENT_ITEM_SELECTOR}:last-child
... ${RECENT_ITEM_SELECTOR}:nth-child(${position})