如何查找变量是否已定义?
How do I find if a variable has been defined?
如何确定我的 Robot Framework 脚本中是否定义了变量?我正在进行 API 测试,而不是 UI 测试。我有一个复杂的设置和拆卸序列,并且由于我通过脚本与多台计算机交互,所以如果发生致命错误,了解当前状态很重要。我可以跟踪我对一些复杂的元变量集或变量跟踪列表所做的事情,但我更愿意查询是否已定义特定变量,如果已定义则采取适当的拆卸步骤。
简化版是这样的:
*** Test Cases ***
Check monitor
${monitored}= Connect to Monitor ${Monitor IP Address} ${User name} ${password}
${peer connected}= Connect to Monitor ${Peer IP Address} ${User name} ${password}
Get Information from Monitor ${IP Address}
Send Info to Peer ${buffer1}
Report back to Monitor ${Monitor IP Address}
我们假设拆卸会关闭连接。我想关闭任何打开的连接,但如果我无法打开对等连接,我将关闭监视器连接并在关闭监视器连接时失败。
我正在尝试确定是否定义了 ${peer connected}。我可以查看 Robot Framework 的变量存储以查看它是否存在(在那个字典中?)?
有一个非常简单的方法 - 如果没有定义这样的变量,则内置关键字 Get Variable Value returns python 的 None
(默认情况下):
${the var}= Get Variable Value ${peer connected}
${is set}= Set Variable If """${the var}""" != 'None' ${True} ${False}
您可以调用Get Variables获取所有变量的字典,然后检查您感兴趣的变量是否在字典中。
*** Test cases ***
Example
${foo}= set variable hello, world
${variables}= Get variables
Should be true "${foo}" in $variables
Should not be true "${bar}" in $variables
我很喜欢这种方法。如果未定义变量,测试用例不会失败....
${variables} Get variables
${status} Run Keyword And Return Status Evaluate $new_table in $variables
${new_table} Set variable if ${status}==${FALSE} new_tbl ${new_table}
也可能是:
${variables} Get Variables
IF "${dataPluginVersion}" in "${variables}"
No Operation
ELSE
${dataPluginVersion} Set Variable 0
END
或者:
${variables} Get Variables
IF not "${dataPluginVersion}" in "${variables}"
${dataPluginVersion} Set Variable 0
END
如何确定我的 Robot Framework 脚本中是否定义了变量?我正在进行 API 测试,而不是 UI 测试。我有一个复杂的设置和拆卸序列,并且由于我通过脚本与多台计算机交互,所以如果发生致命错误,了解当前状态很重要。我可以跟踪我对一些复杂的元变量集或变量跟踪列表所做的事情,但我更愿意查询是否已定义特定变量,如果已定义则采取适当的拆卸步骤。
简化版是这样的:
*** Test Cases ***
Check monitor
${monitored}= Connect to Monitor ${Monitor IP Address} ${User name} ${password}
${peer connected}= Connect to Monitor ${Peer IP Address} ${User name} ${password}
Get Information from Monitor ${IP Address}
Send Info to Peer ${buffer1}
Report back to Monitor ${Monitor IP Address}
我们假设拆卸会关闭连接。我想关闭任何打开的连接,但如果我无法打开对等连接,我将关闭监视器连接并在关闭监视器连接时失败。
我正在尝试确定是否定义了 ${peer connected}。我可以查看 Robot Framework 的变量存储以查看它是否存在(在那个字典中?)?
有一个非常简单的方法 - 如果没有定义这样的变量,则内置关键字 Get Variable Value returns python 的 None
(默认情况下):
${the var}= Get Variable Value ${peer connected}
${is set}= Set Variable If """${the var}""" != 'None' ${True} ${False}
您可以调用Get Variables获取所有变量的字典,然后检查您感兴趣的变量是否在字典中。
*** Test cases ***
Example
${foo}= set variable hello, world
${variables}= Get variables
Should be true "${foo}" in $variables
Should not be true "${bar}" in $variables
我很喜欢这种方法。如果未定义变量,测试用例不会失败....
${variables} Get variables
${status} Run Keyword And Return Status Evaluate $new_table in $variables
${new_table} Set variable if ${status}==${FALSE} new_tbl ${new_table}
也可能是:
${variables} Get Variables
IF "${dataPluginVersion}" in "${variables}"
No Operation
ELSE
${dataPluginVersion} Set Variable 0
END
或者:
${variables} Get Variables
IF not "${dataPluginVersion}" in "${variables}"
${dataPluginVersion} Set Variable 0
END