For loop 使用带2个参数的机器人框架的For循环
我有两个列表变量For loop 使用带2个参数的机器人框架的For循环,for-loop,if-statement,robotframework,For Loop,If Statement,Robotframework,我有两个列表变量@{vinrange}和@{sg},它们的维度都是4 我想对列表变量@{vinrange}中的每个值使用标量${VAR1}打印到日志中,并对列表变量@{sg}中的每个值使用第二个标量${VAR2}打印 我必须将它们分配到同一个循环中,${VAR1}[1]对@{vinrange}有效,但是,我不知道如何处理第二个列表变量@{sg} 尝试使用获取计数而不是对循环进行计数并使用迭代器${i}进行日志记录。 这是给你的样品 ${length}= Get Count ${vinr
@{vinrange}
和@{sg}
,它们的维度都是4
我想对列表变量@{vinrange}
中的每个值使用标量${VAR1}
打印到日志中,并对列表变量@{sg}
中的每个值使用第二个标量${VAR2}
打印
我必须将它们分配到同一个循环中,${VAR1}[1]
对@{vinrange}
有效,但是,我不知道如何处理第二个列表变量@{sg}
尝试使用获取计数
而不是对循环进行计数
并使用迭代器${i}进行日志记录。
这是给你的样品
${length}= Get Count ${vinrange}
FOR ${i} IN RANGE 1 ${length}
Log ${vinrange}[${i}]
Log ${sg}[${i}]
END
给出了机器人框架中For循环的一般上下文
FOR ${item} IN @{ITEMS}
${item} Arg2
END
范例-
FOR ${index} IN RANGE 42
1st arg ${index}
END
有一个FOR
构造版本正好适合这种情况-同时迭代两个列表-即ZIP中的。
它需要两个或多个iterable(如列表),并且在每次迭代中都会在同一索引处返回每个iterable的值
请注意,它将在较短的最后一个元素处停止(例如,如果它们的长度不同,则不会引发异常,也不会完全耗尽较长的列表)。因此,对于您的情况:
FOR ${vinrange_element} ${sg element} IN ZIP ${vinrange} ${sg}
Log ${vinrange element}
Log ${sg element}
END
我会就此争论;第一个示例代码将尝试将每个列表成员作为关键字执行,并将“Arg2”作为参数传递-这最好是一个关键字列表,非常不正常。第二个将不会在列表上迭代,但将生成数字0…41,并将其作为参数传递给关键字“1st arg”。