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