我试图验证演练弹出窗口,每次当它关闭时,我执行此关键字再次打开它,但如果我执行它几次,它失败了错误。语法是正确的,因为我能够在其他tc中执行它2-3次。谁能告诉我问题出在哪里吗?
Open Walkthrough Guide If It is Closed
${ELEMS}= Get WebElements ${WELCOME_POPUP}
Run Keyword If ${ELEMS} == @{EMPTY} Run Keywords
... Execute Javascript localStorage.setItem('peopleAnalyticsTourDismiss', 'false')
... AND Reload Page
错误代码Evaluating expression '[<selenium.webdriver.remote.webelement.WebElement (session="461c3d8d360e2040589b1f70653b326d", element="3de37e69-02bd-4b76-8ff0-1bd652b952d7")>] == []' failed: SyntaxError: invalid syntax (<string>, line 1)
如果您想在${ELEMS}
为空列表时运行关键字,我建议这样写:
Run keyword if len($elems) == 0 ...
原因是,在表达式中${ELEMS}
不是元素列表,而是元素列表的字符串表示形式。使用$elems
是在表达式中使用实际对象的一种方式。
来自文档:
当变量在使用正常${variable}语法的表达式中使用时,它的值在表达式求值之前被替换。这意味着表达式中使用的值将是变量值的字符串表示形式。,而不是变量值本身
这个语法在BuiltIn库的文档中有介绍,在
表达式求值一节中