Robot Framework按规则合并两个列表时出现AttributeError错误求助
解决Robot Framework列表合并时的AttributeError问题
首先看你碰到的报错:AttributeError: 'NoneType' object has no attribute 'append',核心原因是你初始化@{temp_list}时用了${empty}——在Robot Framework里这个默认是None,不是空列表,自然没法调用append方法。
另外还有两个小问题需要修正:
- 字符串拼接时的变量引用格式错了,应该用
${ip_in[${index}]}而非{ip_in}[${index}],不然会把字面量直接输出,取不到真实的列表元素; convert to list ${ip_api}完全多余,你要添加的是拼接好的字符串,这步操作会把字符串拆成单个字符的列表,和你的需求完全不符。
下面是修正后的完整代码:
# 正确初始化空列表(不带参数的Create List会生成空列表对象) @{temp_list} = Create List # 获取列表长度,确保循环次数匹配 ${list_length} = Get Length ${ip_in} FOR ${index} IN RANGE 0 ${list_length} # 按需求拼接字符串,注意变量引用格式 ${combined_item} = Set Variable ${ip_in[${index}]} and ${ip_out[${index}]} # 直接将拼接好的字符串添加到目标列表 Append To List ${temp_list} ${combined_item} Log To Console IP API: ${temp_list} END
如果你的两个源列表长度不一致,还可以加个小判断避免索引越界,比如取两个列表长度的最小值作为循环上限:
${len_ip_in} = Get Length ${ip_in} ${len_ip_out} = Get Length ${ip_out} ${min_length} = Evaluate min(${len_ip_in}, ${len_ip_out}) FOR ${index} IN RANGE 0 ${min_length} # 拼接和添加逻辑同上 END
内容的提问来源于stack exchange,提问作者Konstantin Voitenko
相关产品推荐
相关产品推荐

