【RobotFramework】FOR循环应用

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

在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

资源分享

下面这份资源,对于想学习【软件测试】的朋友来说应该是最全面最完整的备战仓库,希望也能帮助到你!在这里插入图片描述

robotFramework——FOR循环语句 循环语句 robotframework⽀持FOR循环语句,语法和的语法基本相同,但robotframework中,"FOR"关键字前⾯需要增加⼀个":",写成":FOR",其它 与Python的语法相同。下⾯我们看看如何实现循环。 1.FOR IN 这种结构,循环的次数由"IN"关键字后⾯的list变量个数控制。⽰例如下: 运⾏结果: 这个例⼦中,"IN"后⾯直接写了3个常量,则表⽰运⾏三次。每个循环${n}被依次赋予3个常量中的1个。当然"IN"后⾯也可以写⼀个List变量, 代码修改如下: 效果是⼀样的。 "FOR"和"IN"关键字之间,也可以使⽤list变量,如下: 运⾏结果如下: "FOR"和"IN"之间是3个list变量,那么以上的语句就会取"IN"后的list变量,每3个元素循环⼀次。 2.FOR IN RANGE 这种写法更常⽤⼀些。"IN RANGE"后⾯,跟⼀个整数型的数字的范围。循环的次数受数字的范围控制。⽰例如下: 运⾏结果: 从结果我们可以看出,${n}的值从3开始,⼀直被赋值到4,循环2次。"IN RANGE"后⾯也可以只写⼀个数字,表⽰范围的下限默认是0。⽰ 例如下: 运⾏结果: 以上两种写法,步长默认步长都是1。我们也可以修改步长,⽰例如下: 运⾏结果: 这个例⼦中的步长为10。 3.Exit For Loop RF也提供了退出循环的语句——Exit For Loop。遇到这个语句,脚本将⽆条件提出循环。⽰例如下: 运⾏结果如下: ${n}被赋值到4,触发了Exit For Loop语句⽽推出了循环。 注:以上代码的运⾏环境是robotframework2.7.5,robotframework_ride-1.0,python2.7 (转⾃:https://blog.youkuaiyun.com/whackw/article/details/48794623)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员二黑

V:testerhei

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值