Robot Framework列表元素转INT类型失败,求解决方案
在Robot Framework中创建整数类型元素的列表
错误原因分析
你的两次尝试存在以下问题:
- 尝试1:
Convert To Integer关键字仅支持处理单个值,直接传入整个列表会导致参数错误;另外字符串"01"带前导零,默认转换时会被识别为八进制格式,引发ValueError,需指定十进制基准(base=10)来正确转换。 - 尝试2:
Replace Variables不是创建列表的正确关键字,应该使用Create List;同时同样犯了直接将整个列表传入Convert To Integer的错误,该关键字不支持批量转换列表元素。
正确实现方法
方法1:直接创建整数列表
如果元素本身是明确的整数,可直接在Create List中传入数值(无需加引号,Robot Framework会自动识别为整数类型):
@{INT_LIST} Create List 1 61 0 9 Set Suite Variable ${INT_LIST}
方法2:从字符串列表转换为整数列表
如果你的元素是带前导零的字符串(如"01"),需要遍历列表逐个转换,同时指定base=10确保十进制转换:
# 先创建字符串列表 @{STR_LIST} Create List "01" "61" "0" "9" # 初始化空整数列表 @{INT_LIST} Create List # 遍历转换每个元素 :FOR ${item} IN @{STR_LIST} \ ${int_item} Convert To Integer ${item} base=10 \ Append To List ${INT_LIST} ${int_item} Set Suite Variable ${INT_LIST}
验证类型
可以用Log关键字结合type函数验证元素类型:
:FOR ${num} IN @{INT_LIST} \ Log Type of ${num}: ${type(${num})}
内容的提问来源于stack exchange,提问作者evojd
相关产品推荐
相关产品推荐

