RobotFramework(⼗):BuiltIn中常⽤关键字(上)
⽬录
Log/
作⽤:打印信息,能够设置打印的级别
语法:
Name: Log
Source: BuiltIn <test library>
Arguments:
[ message | level=INFO| html=Fal| console=Fal| repr=str| formatter=str]
参数说明:
1. message :要打印的信息
2. level:消息的级别,⽀持TRACE, DEBUG, INFO (默认), HTML, WARN和ERROR。如果是WARN和ERROR级别的信息,在命令
⾏下是可见的
3. html:表⽰打印的是HTML语法的消息
4. console:为true的话表⽰log⽂件中记录的信息也会在命令⾏打印⼀遍
5. formatter:⽤来控制字符串输出的个格式,包括str (默认), repr and ascii,和python中的类似锦州古塔
6. repr:和formatter作⽤类似,即将被废弃的参数,repr=True等价于 formatter=repr
⽰例:
*** Test Cas ***
Example
Log Hello, world! # Normal INFO message.
Log Warning, world! WARN # Warning.
Log <b>Hello</b>, world! html=yes # INFO message as HTML.
Log <b>Hello</b>, world! HTML # Same as above.
Log <b>Hello</b>, world! DEBUG html=true # DEBUG as HTML.
Log Hello, console! console=yes # Log also to the console.
Log Null is \x00 formatter=repr # Log 'Null is \x00'.
执⾏结果:
:和Log类似,只是能同时打印多个信息
⽰例:
*** Test Cas ***
Log Many Example
@{list} = Create List 1 2 3
你所不知道的事
&{dict} = Create Dictionary key=value foo=bar
Log Many Hello robot
Log Many @{list} &{dict}
执⾏结果:
robot -t Log_Many_bot
注意:命令⾏下指定⽤例名⽤-t参数,如果⽤例名有空格,那么输⼊的时候⽤下划线_代替否则会按参数去解析执⾏
Library
神奇的地球作⽤:导⼊指定的库,就可以使⽤库中的关键字
语法:
Name:Import Library
Source:BuiltIn <test library>
Arguments:[ name | *args ]
疾病用英语怎么说⽰例:
*** Settings ***
Library AppiumLibrary
作⽤:给⼀个变量赋值,局部变量
语法:
Name:Set Variable
Source:BuiltIn <test library>
Arguments:[ *values ]
⽰例:
*** Test Cas ***
Example
# 将字符串赋值给⼀个变量
${hi} = Set Variable Hello, world!
# 将变量赋值给变量
${hi2} = Set Variable I said: ${hi}
# 同时给2个变量赋值
${var1} ${var2} = Set Variable Hello world
# 给⼀个列表变量赋值
@{list} = Set Variable 1 2 3 4
# 将数字赋值给变量
${item1} ${item2} = Set Variable 1 2
执⾏结果:
作⽤:定义⼀个suite级别的变量,在当前测试套件内均是可⽤的。如果定义的变量和变量表⼀致的话,就会发⽣变量覆盖。suite级别的变量在⼦suite默认是不可见的,如果想在⼦suite中使⽤的话就⽤children=true作为Set Suite Variable最后⼀个参数即可。
语法:
Name:Set Suite Variable
Source:BuiltIn <test library>
Arguments:[ name | *values ]
⽰例:
*** Test Cas ***
Example2
# 定义⼀个suite级别字符串变量${SCALAR}
Set Suite Variable ${SCALAR} Hello, world!
# 重新给变量${SCALAR}赋值
Set Suite Variable ${SCALAR} Hello, world! children=true
# 定义⼀个suite级别列表变量${LIST}
Set Suite Variable @{LIST} First item Second item
# 定义⼀个suite级别字典变量${DICT}
Set Suite Variable &{DICT} key=value foo=bar
# 将${DICT}值赋给${ID}
${ID} = Get Variable Value &{DICT}
# 将${ID}设置为suite级别的变量
Set Suite Variable ${ID}
Example3
# 直接使⽤Example2定义的uite级别的变量
Log Many &{DICT}
南京普通话报名执⾏结果:
C atenate
作⽤:将给定的数据拼接,以字符串的形式返回。默认情况下⽤空格连接,如果想改变连接符的话,需要在调⽤此关键字时通过第⼀个参数SEPARATOR=<p>指定分割符
八只小狗抬花轿语法:
Name:Catenate
Source:BuiltIn <test library>
Arguments:[ *items ],可变参数
猫爪棉花糖⽰例:
*** Test Cas ***
Example
${str1} = Catenate Hello world #空格
${str2} = Catenate SEPARATOR=--- Hello world #---
${str3} = Catenate SEPARATOR= Hello world #⽆分隔符
log ${str1} console=yes
log ${str2} console=yes
log ${str3} console=yes
执⾏结果:
作⽤:⽣成⼀个字典,和Python中的类似
语法:
Name: Create Dictionary
京郊游
Source: BuiltIn <test library>
Arguments: [ *items ]
如果想要转换成Python的字典可以使⽤Collections库中的Convert To Dictionary⽅法⽰例1:Create Dictionary创建字典的⼏种⽅式