Robotframework robot测试框架:如果设置变量有效,该如何设置?
我有以下关键词:Robotframework robot测试框架:如果设置变量有效,该如何设置?,robotframework,Robotframework,我有以下关键词: App For Port [Arguments] ${app} # Try to launch one app on either port, continue if it fails on port 1 and launch it on port 2, record if it fails on both. ${returned_port} Set Variable ${1} : FOR ${port_num}
App For Port [Arguments] ${app}
# Try to launch one app on either port, continue if it fails on port 1 and launch it on port 2, record if it fails on both.
${returned_port} Set Variable ${1}
: FOR ${port_num} IN 1 2
\ ${returned_port} Set Variable If ${port_num} == 2 ${2}
\ Check App Launch ${app} ${port_num}
Return From Keyword ${returned_port}
${returned\u port}设置变量${1}
工作正常,${returned\u port}
在此行后为1
但是,,
${returned\u port}设置变量,如果${port\u num}==2${2}
给出${returned\u port}
无值
我真的很困惑。如何将${returned\u port}
设置为2??提前谢谢 见文件:
第二个值也可以省略,在这种情况下,它有一个默认值None
如果在第一次循环迭代期间将${returned\u port}
设置为None
,则表示设置变量
此外,您还可以稍微简化代码:
App For Port
[Arguments] ${app}
: FOR ${port_num} IN 1 2
\ Check App Launch ${app} ${port_num}
。。。同样的道理。是吗?如果需要无条件地从关键字返回值,只需使用[return]${var}
另一个-您可以考虑使用数据驱动的方法:
参见doc:
第二个值也可以省略,在这种情况下,它有一个默认值None
如果在第一次循环迭代期间
将${returned\u port}
设置为None
,则表示设置变量
此外,您还可以稍微简化代码:
App For Port
[Arguments] ${app}
: FOR ${port_num} IN 1 2
\ Check App Launch ${app} ${port_num}
。。。同样的道理。是吗?如果需要无条件地从关键字返回值,只需使用[return]${var}
另一个——你可以考虑使用数据驱动的方法:
谢谢,这是有道理的。但是为了简化代码,因为我需要将检查应用程序启动
实际使用的端口返回到更高级别的关键字,所以我想我需要保持代码对我来说是有意义的。我很高兴这有帮助。谢谢,这很有道理。但是为了简化代码,因为我需要将检查应用程序启动
实际使用的端口返回到更高级别的关键字,所以我想我需要保持代码对我来说是有意义的。我很高兴这有帮助。