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