如果与 'OR' 一起使用,如何制作 运行 关键字?
How to make Run Keyword If work with 'OR'?
我正在尝试将 Run Keyword If
与 或 一起使用,但由于某种原因它不起作用,我不明白为什么。它向我显示错误 未找到名称为 'or' 的关键字。我假设有一些语法错误。我也尝试过 OR 但它没有用。
Keyword 1
Check Walkthrough Guide Opened
Go to ${WALKTHROUGH_URL}
Open Walkthrough Guide If It's Closed
Wait Until Element Is Visible ${WELCOME_POPUP} ${WFE_TIMEOUT}
Page Should Contain Element ${POPUP_TITLE}
Keyword 2
${ELEMS}= Execute JavaScript return localStorage.getItem('peopleAnalyticsTourDismiss')
Run Keyword If ('${ELEMS}' == 'true') or (${ELEMS}' == 'None') Run Keywords
... Execute Javascript localStorage.setItem('peopleAnalyticsTourDismiss', 'false')
... AND Reload Page
您需要将“或”两边的两个 space 转换为一个 space。机器人看到两个或更多 space 并认为“或”是 运行.
的关键字
Run Keyword If ('${ELEMS}' == 'true') or (${ELEMS}' == 'None') Run Keywords
# ^^ ^^
Robot Framework 将您的 OR 理解为关键字 运行 关键字 If 的第二个参数。将双空格切换为单个空格,如下例所示:
Run Keyword If ('${ELEMS}' == 'true') or (${ELEMS}' == 'None') Run Keywords
这样,机器人会将 ('${ELEMS}' == 'true') or (${ELEMS}' == 'None')
理解为 运行 关键字的一个参数 If,with 是条件一。
如果你还有疑问,我发现这个issue有类似的问题,并且有一个很好的解决方案作为例子。
另一件可能会给您带来麻烦的事情是,您在第二次比较的开头错过了 '
:or (${ELEMS}' == 'None')
。尝试将其更改为以下选项之一:
or ('${ELEMS}' == 'None')
or ("${ELEMS}" == "None")
or ("""${ELEMS}""" == """None""")
三引号的疑惑请参考Builtin库
我正在尝试将 Run Keyword If
与 或 一起使用,但由于某种原因它不起作用,我不明白为什么。它向我显示错误 未找到名称为 'or' 的关键字。我假设有一些语法错误。我也尝试过 OR 但它没有用。
Keyword 1
Check Walkthrough Guide Opened
Go to ${WALKTHROUGH_URL}
Open Walkthrough Guide If It's Closed
Wait Until Element Is Visible ${WELCOME_POPUP} ${WFE_TIMEOUT}
Page Should Contain Element ${POPUP_TITLE}
Keyword 2
${ELEMS}= Execute JavaScript return localStorage.getItem('peopleAnalyticsTourDismiss')
Run Keyword If ('${ELEMS}' == 'true') or (${ELEMS}' == 'None') Run Keywords
... Execute Javascript localStorage.setItem('peopleAnalyticsTourDismiss', 'false')
... AND Reload Page
您需要将“或”两边的两个 space 转换为一个 space。机器人看到两个或更多 space 并认为“或”是 运行.
的关键字Run Keyword If ('${ELEMS}' == 'true') or (${ELEMS}' == 'None') Run Keywords
# ^^ ^^
Robot Framework 将您的 OR 理解为关键字 运行 关键字 If 的第二个参数。将双空格切换为单个空格,如下例所示:
Run Keyword If ('${ELEMS}' == 'true') or (${ELEMS}' == 'None') Run Keywords
这样,机器人会将 ('${ELEMS}' == 'true') or (${ELEMS}' == 'None')
理解为 运行 关键字的一个参数 If,with 是条件一。
如果你还有疑问,我发现这个issue有类似的问题,并且有一个很好的解决方案作为例子。
另一件可能会给您带来麻烦的事情是,您在第二次比较的开头错过了 '
:or (${ELEMS}' == 'None')
。尝试将其更改为以下选项之一:
or ('${ELEMS}' == 'None')
or ("${ELEMS}" == "None")
or ("""${ELEMS}""" == """None""")
三引号的疑惑请参考Builtin库