Robotframework 如何在Robot框架中检查变量的数据类型

Robotframework 如何在Robot框架中检查变量的数据类型,robotframework,Robotframework,我无法在robot框架中检查数据类型。我想计算变量的数据类型 e、 g 现在我需要检查这里的${variable}值是否为整数。我尝试使用evaluate,但它提供了数据结构。您可以使用evaluate关键字内的type()方法获取变量的类型;确保传递对变量本身的引用: ${type string}= Evaluate type($variable) Log To Console ${type string} 输出是位特定的,类似于: <class 'int'>

我无法在robot框架中检查数据类型。我想计算变量的数据类型

e、 g


现在我需要检查这里的
${variable}
值是否为整数。我尝试使用evaluate,但它提供了数据结构。

您可以使用evaluate关键字内的
type()
方法获取变量的类型;确保传递对变量本身的引用:

${type string}=    Evaluate     type($variable)
Log To Console     ${type string}
输出是位特定的,类似于:

<class 'int'>
那么就只有这个-
'int'

如果要检查是否是特定类型的变量(或者在python中通常是另一个变量的子类),可以使用
isinstance()


(最后一个示例假设您的
${variable}
是一个实际的整数)

谢谢@Todor Minakov,我尝试过这样做,但是它显示了unicode。这就是robot框架显示数据类型的方式,还是应该是int?这实际上取决于您如何创建变量。默认情况下,使用
Set Variable
创建的所有变量都是字符串-如果键入
${Variable}Set Variable 123
,则该变量的类型将是字符串-一个值为“123”的字符串,虽然看起来像一个数字,但实际上是一个字符串(例如,您可以在其上执行
从左侧提取
)。如果要创建一个“true”数字变量,请将其括在花括号中-
${variable}Set variable${123}
。顺便说一下,不相关-您使用的是python 2,对吗?:)
<class 'int'>
${type string}=    Evaluate     type($variable).__name__
${is int}=      Evaluate     isinstance($variable, int)    # will be True
${is string}=   Evaluate     isinstance($variable, str)    # will be False