自动化测试过程中,如果我们想多次运行某段语句,且每次使用的值都不一样,那么我们就要使用到循环。
在Robot FrameWork中,循环使用到的关键字是FOR,常用见应用如下。
应用一:
FOR ${变量} IN 参数1 参数2 参数3
参数可以是数字或字符串,FOR必须大写
执行结果:
Starting test: TEST.LogTest.for
<strong>INFO : 1
INFO : 2
INFO : 3</strong>
Ending test: TEST.LogTest.for
执行结果:
Starting test: TEST.LogTest.for
<strong> INFO : apple
INFO : pear</strong>
Ending test: TEST.LogTest.for
应用二:
FOR ${变量} IN RANGE 初始值 终值(选填) 步长(选填)
执行结果:
Starting test: TEST.LogTest.for
<strong>INFO : 0
INFO : 1
INFO : 2</strong>
Ending test: TEST.LogTest.for
说明:上述两个执行结果一样,从0开始,终值-1结束。
设置步长为:2
执行结果:
Starting test: TEST.LogTest.for
<strong> INFO : 0
INFO : 2</strong>
Ending test: TEST.LogTest.for
应用三:
使用exit for loop 退出循环(类似break),结合run keyword if关键字使用
执行结果:
Starting test: TEST.LogTest.loop
<strong>INFO : @{list} = [ 1 | 3 | 5 | 7 ]
INFO : 1
INFO : 3
INFO : 5
INFO : Exiting for loop altogether.</strong>
Ending test: TEST.LogTest.loop
为什么用@{list}而不是 l i s t , 替 换 为 {list},替换为 list,替换为{list}后的执行结果为
Starting test: TEST.LogTest.loop<strong>
INFO : ${list} = ['1', '3', '5', '7']
INFO : ['1', '3', '5', '7']</strong>
Ending test: TEST.LogTest.loop
应用四:
continue for loop 跳过当前执行下一轮循环,结合run keyword if关键字使用
执行结果:
Starting test: TEST.LogTest.loop
<strong> INFO : Continuing for loop from the next iteration.
INFO : 1
INFO : Continuing for loop from the next iteration.
INFO : 3</strong>
Ending test: TEST.LogTest.loop
拓展:
Repear Keyword关键字,多次执行指定的关键字,可以设定次数或执行时间
1、执行log关键字2s
执行结果:
Starting test: TEST.LogTest.continue
<strong> 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</strong>
。。。。。。
Ending test: TEST.LogTest.continue
2、执行log关键字两次
执行结果:
Starting test: TEST.LogTest.continue
<strong>INFO : Repeating keyword, round 1/2.
INFO : apple
INFO : Repeating keyword, round 2/2.
INFO : apple</strong>
Ending test: TEST.LogTest.continue
资源分享
下面这份资源,对于想学习【软件测试】的朋友来说应该是最全面最完整的备战仓库,希望也能帮助到你!