入门Robot Framework(2)——循环控制

  Robot Framework提供了多种种循环方式,这里介绍三种循环方法的使用。本次演示也是在之前的例子上作的修改。

FOR IN 结构


1.直接将列表置于IN 之后

Edit

Text Edit:

1
2
3
4
5
6
7
8
9
10
For001
: FOR ${n} IN a b c
\ Log ${n}
\ Open Browser https://www.baidu.com/ Chrome
\ Sleep 2
\ Input Text id = kw 大火
\ Click Button id = su
\ Sleep 2
\ Close Browser
Log Outside Loop

2.将列表在一开始就声明,然后在IN之后调用

Edit

Text Edit:

1
2
3
4
5
6
7
8
9
10
11
For002
@{LIST} Set Variable a b c
: FOR ${n} IN @{LIST}
\ Log ${LIST}
\ Open Browser https://www.baidu.com/ Chrome
\ Sleep 2
\ Input Text id = kw 大火
\ Click Button id = su
\ Sleep 2
\ Close Browser
Log Outside Loop

3.多个循环变量

Edit

Text Edit:

1
2
3
4
5
6
7
8
9
10
11
12
13
For003
: FOR ${NUMBER} ${TIME} ${FREQUENCY} IN
\ 1 1 1
\ 2 2 2
\ 3 3 3
\ Log ${NUMBER}-${TIME}-${FREQUENCY}
\ Open Browser https://www.baidu.com/ Chrome
\ Sleep 2
\ Input Text id = kw 大火
\ Click Button id = su
\ Sleep 2
\ Close Browser
Log Outside Loop

FOR IN RANGE 结构


1.IN RANGE(x, y)

Edit

Text Edit:

1
2
3
4
5
6
7
8
9
10
For004
: FOR ${n} IN RANGE 1 3
\ Log ${n}
\ Open Browser https://www.baidu.com/ Chrome
\ Sleep 2
\ Input Text id = kw 大火
\ Click Button id = su
\ Sleep 2
\ Close Browser
Log Outside Loop

2.IN RANGE(x)

Edit

Text Edit:

1
2
3
4
5
6
7
8
9
10
For005
: FOR ${n} IN RANGE 3
\ Log ${n}
\ Open Browser https://www.baidu.com/ Chrome
\ Sleep 2
\ Input Text id = kw 大火
\ Click Button id = su
\ Sleep 2
\ Close Browser
Log Outside Loop

3.IN RANGE(x, y, z)

Edit

Text Edit:

1
2
3
4
5
6
7
8
9
10
For006
: FOR ${n} IN RANGE 0 30 10
\ Log ${n}
\ Open Browser https://www.baidu.com/ Chrome
\ Sleep 2
\ Input Text id = kw 大火
\ Click Button id = su
\ Sleep 2
\ Close Browser
Log Outside Loop

不难理解,从log中可以看出RF中的range用法和python中是类似的。

EXIT LOOP 退出循环


1.

Edit

Text Edit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
For007
: FOR ${NUMBER} ${TIME} ${FREQUENCY} IN
... 1 1 1
... 2 2 2
... 3 3 3
\ Run Keyword If ${NUMBER}-${TIME}-${FREQUENCY} == 3-3-3 Exit For Loop
\ Log ${NUMBER}-${TIME}-${FREQUENCY}
\ Open Browser https://www.baidu.com/ Chrome
\ Sleep 2
\ Input Text id = kw 大火
\ Click Button id = su
\ Sleep 2
\ Close Browser
Log Outside Loop

2.

Edit

Text Edit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
For008
: FOR ${NUMBER} ${TIME} ${FREQUENCY} IN
... 1 1 1
... 2 2 2
... 3 3 3
\ Exit For Loop If ${NUMBER}-${TIME}-${FREQUENCY} == 3-3-3
\ Log ${NUMBER}-${TIME}-${FREQUENCY}
\ Open Browser https://www.baidu.com/ Chrome
\ Sleep 2
\ Input Text id = kw 大火
\ Click Button id = su
\ Sleep 2
\ Close Browser
Log Outside Loop

上面是两种退出循环的写法,可以看出效果是一样的,均在执行完2-2-2时就退出了循环。