robotframework - 评估表达式'[
我正在尝试验证演练弹出窗口,每次关闭时我都会执行此关键字以再次打开它,但如果我多次执行它会失败并出现错误。语法是正确的,因为我可以在其他 TC 中执行 2-3 次。谁能帮我理解问题出在哪里?
Open Walkthrough Guide If It is Closed
${ELEMS}=
问题描述
我正在尝试验证演练弹出窗口,每次关闭时我都会执行此关键字以再次打开它,但如果我多次执行它会失败并出现错误。语法是正确的,因为我可以在其他 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)
如果你想运行一个关键字 if${ELEMS}
是一个空列表,我建议这样写:
Run keyword if len($elems) == 0 ...
原因是,表达式${ELEMS}
中不是元素列表,而是元素列表的字符串表示。Using$elems
是一种在表达式中使用实际对象的方法。
从文档中:
当使用正常的 ${variable} 语法在表达式中使用变量时,它的值在表达式被计算之前被替换。这意味着表达式中使用的值将是变量 value 的字符串表示形式,而不是变量 value 本身。
此语法在BuiltIn library的文档中,在标题为Evaluating expressions的部分中介绍
解决方案
如果你想运行一个关键字 if${ELEMS}
是一个空列表,我建议这样写:
Run keyword if len($elems) == 0 ...
原因是,表达式${ELEMS}
中不是元素列表,而是元素列表的字符串表示。Using$elems
是一种在表达式中使用实际对象的方法。
从文档中:
当使用正常的 ${variable} 语法在表达式中使用变量时,它的值在表达式被计算之前被替换。这意味着表达式中使用的值将是变量 value 的字符串表示形式,而不是变量 value 本身。
此语法在BuiltIn library的文档中,在标题为Evaluating expressions的部分中介绍
推荐阅读
- excel - 无法合并不同的日志文件
- android - 我正在单击按钮更改视图的宽度和高度,但我想在第二次单击时切换到默认视图
- android - How to make pagination work for firestore in realtime on Android?
- android - 触摸的窗口尚未完成某些输入事件的处理(我经常崩溃。我完全不知道)
- node.js - 如何在 Vue.js 2 中发送 JSON 数据作为响应?
- java - SpringBoot thymeleaf 给出 TemplateInputException,当模板不存在时
- android - Android中ExpandableLisView中的GridView
- spring - Spring Data findBy 给定的 Column 1 和 In List Column2
- python-3.x - 函数需要一个浮点数,但被赋予了一个属性
- python - 在 kivy lang 和 python 中访问子小部件属性的值
我正在尝试验证演练弹出窗口,每次关闭时我都会执行此关键字以再次打开它,但如果我多次执行它会失败并出现错误。语法是正确的,因为我可以在其他 TC 中执行 2-3 次。谁能帮我理解问题出在哪里?
Open Walkthrough Guide If It is Closed
${ELEMS}=
问题描述
我正在尝试验证演练弹出窗口,每次关闭时我都会执行此关键字以再次打开它,但如果我多次执行它会失败并出现错误。语法是正确的,因为我可以在其他 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)
如果你想运行一个关键字 if${ELEMS}
是一个空列表,我建议这样写:
Run keyword if len($elems) == 0 ...
原因是,表达式${ELEMS}
中不是元素列表,而是元素列表的字符串表示。Using$elems
是一种在表达式中使用实际对象的方法。
从文档中:
当使用正常的 ${variable} 语法在表达式中使用变量时,它的值在表达式被计算之前被替换。这意味着表达式中使用的值将是变量 value 的字符串表示形式,而不是变量 value 本身。
此语法在BuiltIn library的文档中,在标题为Evaluating expressions的部分中介绍
解决方案
如果你想运行一个关键字 if${ELEMS}
是一个空列表,我建议这样写:
Run keyword if len($elems) == 0 ...
原因是,表达式${ELEMS}
中不是元素列表,而是元素列表的字符串表示。Using$elems
是一种在表达式中使用实际对象的方法。
从文档中:
当使用正常的 ${variable} 语法在表达式中使用变量时,它的值在表达式被计算之前被替换。这意味着表达式中使用的值将是变量 value 的字符串表示形式,而不是变量 value 本身。
此语法在BuiltIn library的文档中,在标题为Evaluating expressions的部分中介绍
推荐阅读
- excel - 无法合并不同的日志文件
- android - 我正在单击按钮更改视图的宽度和高度,但我想在第二次单击时切换到默认视图
- android - How to make pagination work for firestore in realtime on Android?
- android - 触摸的窗口尚未完成某些输入事件的处理(我经常崩溃。我完全不知道)
- node.js - 如何在 Vue.js 2 中发送 JSON 数据作为响应?
- java - SpringBoot thymeleaf 给出 TemplateInputException,当模板不存在时
- android - Android中ExpandableLisView中的GridView
- spring - Spring Data findBy 给定的 Column 1 和 In List Column2
- python-3.x - 函数需要一个浮点数,但被赋予了一个属性
- python - 在 kivy lang 和 python 中访问子小部件属性的值