Robotframework-python自动化-关键字,变量,循环

RF官网:https://robotframework.org/

需要查看某些库的关键字,可以点击直接点击库的标题,然后进入到GitHub界面,找到keyword documentation

找到Shortcuts,就可以查看这个库的关键字了(以下是seleniumlibrary库的关键字),Shortcuts后面就是关键字的各种用法了~

RF参数类型-形参:

·必选参数

·可变参数和缺省值参数

常用关键字:

1.log-->打印在日志中

*** Test Cases ***
关键字测试
    log 今天星期一
2.log to console-->打印在控制台
*** Test Cases ***
关键字测试
    log to console  今天是星期一

3.log many-->打印在log中,打印多个(注意参数和参数之间至少空两个空格)

*** Test Cases ***
关键字测试
    log many  今天是星期一  心情不错  上班开心吗

字符串包含多个空格的临时解决办法:比如:“今天  星期一"(该字符串有2个空格)

从第二个空格处前面用反斜杠\修饰(一个反斜杠只能修饰一个),eg:今天 \ 星期一

如果遇到这种情况,可以用python来处理

4.set variable-->定义变量

*** Test Cases ***
定义变量
    ${var1}  set variable 今天星期一
    log to console  ${var1}

定义一个浮点数变量:${num}  convert to number  2020

定义一个int型变量: ${int}  convert to integer  2020

直接转换成整数的方法:${2020}

5.import library-->导入库

eg:import library  testlib.py(只在当前用例中生效,一般不用)

6.sleep-->停几秒

sleep  3

7.should be contain

8.should be equal

*** Test Cases ***
常用关键字
    #断言
    ${expect}  set variable  2020
    should be equal  ${expect}  2020

should be equal as integers-->把所给的两个数转化为int型

9.should be true  <conditions>

<conditions>--python表达式

*** Test Cases ***
常用关键字
    #断言
    ${expect}  set variable  hello
    #RF变量表示的字符串传递给python时会去掉引号
    #只有在python表达式中才可以用$变量名这样型式的参数
    #表达式不能有两个以上的空格
    should be true  'hello'='${expect}'  #所以这里要把引号加上
    #或者可以直接把变量的括号去掉
    should be true  'hello'=$expect 

第三方库导入法:

*** Settings ***
Library  testlib.py  #路径导入法
Library  testlib     #模块导入法--遵循python导入规则

第一种不常用,若目录层级过多,容易出问题

第二种导入方法需要在执行robot文件时指定pythonpath,eg:robot  -P  .  xxx.robot   ( .  表示当前目录)

RF中的变量:

列表类型:

*** Test Cases ***
列表类型
    ${list}  create list a b c
    log many  ${list}  #整体传参---1个参数,输出为[a,b,c]
    log many  @{list}  #拆包传参---多个参数,输出为 a  b  c  相当于 log many  a  b  c
    log many  ${list}[1]  #b  取列表第1项
    log many  ${list[1]}  #b
    

字典类型:

*** Test Cases ***
字典类型
    ${dict}  create dictionary a=1 b=2 c=3
    log many  ${dict}  #整体传参---1个参数
    log many  &{dict}  #拆包传参---多个参数
    log to console  ${dict}[a]
    log to console  ${dict['a']}

循环

*** Test Cases ***
循环1
    #循环语法
    FOR  ${i}  IN  a  b  c  d
    log to console  循环体${i}
    END

循环2
    ${list}  create list  a  b  c  d
    FOR  ${i}  IN  @{list}
    log to console  循环体${i}
    END

循环3
#IN RANGE一定要大写,并且中间只能有一个空格
    FOR  ${i}  IN RANGE  10
    log to console  ${i}
    END

循环4
    FOR  ${i}  IN RANGE  1  11
    log to console  循环体${i}
    END

循环5
    FOR  ${i}  IN RANGE  2  11  2
    log to console  ${i}
    END

#一般复杂的逻辑交给python实现,RF来调用即可

自学中。。。。。。如有不对,欢迎指出与讨论~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值