我是robot框架的新手,继承了一些.robot文件,这些文件调用了一些python函数
在.robot文件中,我们将一些变量定义为:
| *** Variables *** |
| ${file} | 2021
| ${useV2} | False
但是,当调用python函数并运行此代码时:
log.info(f“{useV2},类型:{type(useV2)}”)
输出是
False , type: <class 'str'>
除了检查这个函数中的“False”和“True”,以及需要的后续函数外,我如何将robot框架变量设置为布尔值,并让python准确地派生True/False
旧的RF版本总是将参数作为字符串传递给python land。因此,python代码应该总是对适当的类型执行类型转换。这里有一个关于这个主题的问题:https://github.com/robotframework/robotframework/issues/2890
如果python代码中有参数的类型注释,则更新版本会执行类型转换if
所以,我假设您的python函数是RF中的一个关键字,没有类型注释
两个选项-使用语法将其声明为实际的布尔类型:
(这也适用于声明int或float),或者使用关键字Convert To Boolean,处理字符串“True”和“False”:
用户指南中讨论此变量语法的部分-http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#boolean-and-none-null-variables;整数/浮点数在上面的章节中进行了描述
这是一个样本;使用此机器人框架代码:
,以及此python函数:
,控制台中的输出为:
例如,定义为
${True}
的变量是<class 'bool'>
,定义为True
的变量是<class 'str'>
,后者在经过Convert To Boolean
之后成为bool
本身相关问题 更多 >
编程相关推荐