【RobotFramework】FOR循环应用

自动化测试过程中,如果我们想多次运行某段语句,且每次使用的值都不一样,那么我们就要使用到循环。

在Robot FrameWork中,循环使用到的关键字是FOR,常用见应用如下。

应用一:

FOR    ${变量}    IN    参数1    参数2    参数3 

参数可以是数字或字符串,FOR必须大写

执行结果:

Starting test: TEST.LogTest.for
            INFO : 1
            INFO : 2
            INFO : 3
Ending test: TEST.LogTest.for

执行结果:

Starting test: TEST.LogTest.for
             INFO : apple
             INFO : pear
Ending test:   TEST.LogTest.for

应用二:

FOR    ${变量}    IN RANGE    初始值    终值(选填)   步长(选填)

 

 执行结果:

Starting test: TEST.LogTest.for
            INFO : 0
            INFO : 1
            INFO : 2
Ending test:   TEST.LogTest.for

说明:上述两个执行结果一样,从0开始,终值-1结束。

设置步长为:2

执行结果:

Starting test: TEST.LogTest.for
               INFO : 0
               INFO : 2
Ending test:   TEST.LogTest.for

应用三:

使用exit for loop 退出循环(类似break),结合run keyword if关键字使用

执行结果:

Starting test: TEST.LogTest.loop
            INFO : @{list} = [ 1 | 3 | 5 | 7 ]
            INFO : 1
            INFO : 3
            INFO : 5
            INFO : Exiting for loop altogether.
Ending test:   TEST.LogTest.loop

为什么用@{list}而不是${list},替换为${list}后的执行结果为

Starting test: TEST.LogTest.loop
            INFO : ${list} = ['1', '3', '5', '7']
            INFO : ['1', '3', '5', '7']
Ending test:   TEST.LogTest.loop

应用四:

continue for loop 跳过当前执行下一轮循环,结合run keyword if关键字使用

执行结果:

Starting test: TEST.LogTest.loop

            INFO : Continuing for loop from the next iteration.

            INFO : 1

            INFO : Continuing for loop from the next iteration.

            INFO : 3

Ending test:   TEST.LogTest.loop

拓展:

Repear Keyword关键字,多次执行指定的关键字,可以设定次数或执行时间

1、执行log关键字2s

执行结果:

Starting test: TEST.LogTest.continue

            INFO : Repeating keyword, round 1, 2s remaining.

            INFO :apple

            INFO : Repeating keyword, round 2, 1s 998ms remaining.

            INFO : apple

            INFO : Repeating keyword, round 3, 1s 996ms remaining.

            INFO : apple

            。。。。。。

Ending test:   TEST.LogTest.continue

2、执行log关键字两次

执行结果:

Starting test: TEST.LogTest.continue

            INFO : Repeating keyword, round 1/2.

            INFO : apple

            INFO : Repeating keyword, round 2/2.

            INFO : apple

Ending test:   TEST.LogTest.continue
posted @ 2022-01-10 13:47  拜托拜托  阅读(755)  评论(0编辑  收藏  举报