我想在Robot框架中替换几个变量来重复类似的命令。可以请你建议我怎么做?
以下是示例代码:
variable1 = ['abc']
varaible2 = ['123','456']
| | Run Keyword And Continue On Failure | testing | ${variable1} | ${variable2} | ${GetVal} | ${Check} |
variable3 = ['xyz']
varaible2 = ['678','789']
| | Run Keyword And Continue On Failure | testing | ${variable3} | ${variable4} | ${GetVal} | ${Check} |
答案 0 :(得分:4)
是机器人框架支持for循环这里是示例
:FOR ${animal} IN cat dog
\ Log ${animal}
\ Log 2nd keyword
Log Outside loop
更多示例请通过此链接
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#for-loops
答案 1 :(得分:2)
Robot框架提供带有特殊关键字:FOR
的“for”循环(请参阅用户指南中的For Loops)
| | :FOR | ${v2} | IN | @{variable2}
| | | Run keyword and continue on failure
| | | ... | testing | ${variable1} | ${v2} | ${GetVal} | ${Check}
请注意,循环体有一个额外的缩进级别。
如果要进行嵌套循环,则需要为嵌套循环创建单独的关键字。编写一个完成所有循环和逻辑的python关键字变得非常容易,因为机器人实际上并不是一个通用的编程语言。
答案 2 :(得分:0)
这是一个循环给定数字的例子
: FOR ${INDEX} IN RANGE 200
\ Log To Console ${INDEX}
答案 3 :(得分:0)
其他答案非常擅长解释如何在Robot Framework中编写一个简单的FOR循环,因此这为您的信息增加了清晰度。
首先,假设已经在其他地方定义了各种未知变量,那么您要求的代码如下:
*** Test Cases ***
Do Your Test
:FOR ${INDEX} IN RANGE ${INCLUSIVE_STARTING_INDEX1} ${EXCLUSIVE_ENDING_INDEX1}
\ Run Keyword and Continue On Failure testing ${variable1} ${variable2} ${GetVal} ${Check}
:FOR ${INDEX} IN RANGE ${INCLUSIVE_STARTING_INDEX2} ${EXCLUSIVE_ENDING_INDEX2}
\ Run Keyword and Continue On Failure testing ${variable3} ${variable4} ${GetVal} ${Check}
其次,我需要澄清机器人框架中的FOR循环不关键字。它们是语言中最基本层面的独特实体。我通过花费数小时深入研究代码来学习这一点,试图弄清楚如何编写可嵌套的For循环。为了节省您的尝试工作,不是没有在Python中编写您自己的自定义关键字。
另外,我应该指明我冒昧地假设你在你的问题中做了一些拼写错误,并且你在其他地方写的个性化关键词“测试”接受列表对象作为它的第二个输入变量。如果这不正确,请告诉我,我会给你一个更准确的答案。
答案 4 :(得分:0)
如果只需要一个循环,则可以使用
:FOR ${iTemp} IN @{listOfStudents}
\ Log ${iTemp}
\ Log GO_ON.
但是您不能在循环内进行循环 为此,您应该使用类似以下的关键字
First Loop
:FOR ${i} IN @{listOfStudents}
\ Log ${i}
\ Log OutSide Loop
Outside Loop
:FOR ${j} IN @{ListOfSubject}
\ Log ${j}
\ Log new Kewords.
这就是在Robot Framework中使用循环的方式
想法
答案 5 :(得分:0)
For loop syntax was enhanced in Robot Framework 3.1. New syntax is as follows:
*** Test Cases ***
Example
FOR ${animal} IN cat dog
Log ${animal}
Log 2nd keyword
END
Log Outside loop
Second Example
FOR ${var} IN one two ${3} four ${five}
... kuusi 7 eight nine ${last}
Log ${var}
END