Robotframework 如何检查机器人框架中的变量类型?

Robotframework 如何检查机器人框架中的变量类型?,robotframework,Robotframework,我正在使用Robot框架测试一个系统,该系统返回一个int,表示系统在测试过程中遇到的错误数。但是,如果系统无响应,则返回将为非类型,并且我收到此错误: “None”不能转换为整数:TypeError:int()参数必须是字符串或数字,而不是“NoneType” 我无法使用应为True关键字,因为传递的响应将为0 有没有办法在Robot中测试变量的类型?我的目标是这样做: Should Not Be NoneType ${error_count} msg=System is not

我正在使用Robot框架测试一个系统,该系统返回一个int,表示系统在测试过程中遇到的错误数。但是,如果系统无响应,则返回将为非类型,并且我收到此错误:
“None”不能转换为整数:TypeError:int()参数必须是字符串或数字,而不是“NoneType”

我无法使用
应为True
关键字,因为传递的响应将为0

有没有办法在Robot中测试变量的类型?我的目标是这样做:

Should Not Be NoneType    ${error_count}    msg=System is not responding after test.
Should Be Equal As Integers    ${error_count}    ${0}    msg=System generated ${error_count} errors during test.

要检查
${error\u count}
是否为
None
,可以执行以下操作:

Should Be True    ${error_count} is not ${None}    msg=Returned None
只要前面的语句通过,您的测试就可以继续打印结果,如下所示:

Log to Console    System generated ${error_count} errors during test
或者,您可以使用
Run关键字将所有内容合并到一行,除非
关键字:

Run Keyword Unless    ${error_count} is ${None}    Log to Console    System generated ${error_count} errors during test    

你需要知道你什么时候得到非类型的吗?你当然可以做你想做的事情,这是一个简单的例子,显然需要进一步扩展

Run Keyword Unless    '${error_count}' == 'None'
更多信息请访问:


先前提供的解决方案将适用于此原始问题(其中
${error\u count}
是整数或
${None}
),但可能不会像其他
${error\u count}
的值那样运行。检查“无”的更通用解决方案是:

Run Keyword If    ${value == None}    Log To Console    value is None
对于Robot Framework 2.9,Robot变量在Python计算空间中可用,这允许以下内容(这是我首选的解决方案,其中使用了Robot Framework 2.9或更高版本):

Run Keyword If    $value is None    Log To Console    value is None