Robotframework 机器人框架中的For循环是一个注释,它生成列表中的所有数字或字符串,并给出类型错误

Robotframework 机器人框架中的For循环是一个注释,它生成列表中的所有数字或字符串,并给出类型错误,robotframework,Robotframework,${read}=读取Csv文件${readcsv} @{read}=转换为列表${read} :对于@{read}范围内的${counter} 登录到控制台${counter} 它读取数据['Ramu Govidan']、['Ajith']、['Alagu']、['Mohana']、] 20150925 15:51:56.716:信息:@{read}=[[Ramu Govidan].[Ajith].[Alagu].[Mohana]] 但它在转换范围内的FOR参数时出错失败:TypeError:E

${read}=读取Csv文件${readcsv}

@{read}=转换为列表${read}

:对于@{read}范围内的${counter}

登录到控制台${counter}

它读取数据['Ramu Govidan']、['Ajith']、['Alagu']、['Mohana']、] 20150925 15:51:56.716:信息:@{read}=[[Ramu Govidan].[Ajith].[Alagu].[Mohana]] 但它在转换范围内的FOR参数时出错失败:TypeError:Expected number,Get list。。下一个循环示例

${values}=获取字典值${new dic}

@{values}=转换为列表${values}

:对于@{values}范围内的${counter}

日志${counter}

循环日志

对于这个{values}=[1 | 2 | 3]
但是对于生成输出1的循环,它不会生成2和3。任何人都能从foor循环中分辨出答案。

您需要在中使用
,而不是在范围内使用
。后者需要一个数字,前者迭代列表中的每个项目。由于您有一个列表,因此希望在
中使用

| | :FOR | ${item} | IN | @{values}
如果您确实想要一个数字而不是项目,您可以在项目长度上使用范围内的

| | ${len}= | get length | ${values}
| | :FOR | ${count} | IN RANGE | ${len}
摘自《机器人框架用户指南》第节(重点):

在正常for循环中,从值列表中分配一个变量, 每次迭代一个值。语法以:FOR开头,其中冒号是 需要将语法与普通关键字分开。下一个细胞 包含循环变量,后续单元格必须具有IN,以及 最后的单元格包含要迭代的值。这些值可以 包含变量,包括列表变量

以下是《用户指南》的一段摘录(重点部分):

与其他for循环类似,for in-range循环以:for开始 循环变量在下一个单元格中在此格式中,可以 只有一个循环变量,它包含当前循环索引。这个 下一个单元格必须包含范围内和后续单元格循环限制。