目录
一、变量类型和声明
在RF底层是通过python来实现的,所以RF创建变量和python类似,默认情况下,RF中的变量都是字符类型的。每个变量都是使用 变量标识符 {变量名} 的方式来定义和引用
1.1 scalar变量(也就是str变量)
${变量名}
1.2 list变量(列表)
@{变量名}
1.3 dict变量(字典)
&{变量名}
二、变量赋值
2.1 使用set variable和create关键字进行赋值
- scalar变量: 使用Set Variable来赋值
- list变量: 使用Set Variable和Create List关键字赋值
- dict变量: 使用Create Dictionary关键字赋值
${myStr} BuiltIn.Set Variable Hello, World
${myStr2} BuiltIn.Set Variable I said:${myStr}
@{myList1} BuiltIn.Set Variable Hello World I
@{myList2} BuiltIn.Create List Hello World I
&{miDict1} BuiltIn.Create Dictionary name gupan age 12 favour run
&{miDict2} BuiltIn.Create Dictionary name=gupan age=12 favour=run
&{miDict3} BuiltIn.Create Dictionary {"name":"gupan", "age":"12", "favour":"run"}
2.2 get赋值
- 的返回值和用户关键字的返回值(广义上说,Set也是返回值)
2.3 运行时赋值
- 设置运行时的参数
三、变量取值
- 在RF中,如果取出来的值是单个变量,那么还是需要用变量标志符声明$,案例如下:
*** Keywords ***
示范
@{list1} BuiltIn.Create List 1 2 3
&{dict1} BuiltIn.Create Dictionary name=gungun sex=mail
# 获取列表元素
# 取列表中的单值变量,采用${list_name[index]}的方式
log ${list1[0]} ${list1[1]} ${list1[2]}
# 获取字典元素
# 取字典中的单值变量,采用${dict_name.dict_key}的方式
log ${dict1.name}
四、在Variables打包页面元素定位(Selenium为例)
- 在RF中使用SeleniumLibrary进行元素定位的方式和selenium的元素定位方式一致。
- 对于Xpath定位,SeleniumLibrary会 自动识别//为Xpath定位 ,所以可以 直接使用Xpath作为页面元素的locator 。
- 如果是css或者class等定位,需要做特殊处理,以css定位为例,需要页面元素定位器前加上css=,案例如下:
*** Variables ***
${用户名输入框} //*[@id="loginname"]
${密码输入框} //*[@id="pl_login_form"]/div/div[3]/div[2]/div/input
${登陆按钮} //*[@id="pl_login_form"]/div/div[3]/div[6]/a
${css定位示例} id=s_kw_wrap
五、变量设置技巧
5.1 设置套件级的变量
*** Variables ***
${投标之后—用户余额减少部分} ${EMPTY}
*** Test Cases ***
用例1
...
${投标之后—用户余额减少部分} Builtln.Evaluate ${投标之前-用户余额}-${投标之后-用户余额}
Builtln.Set Suite Variable ${投标之后—用户余额减少部分} # 会自动更新${投标之后—用户余额减少部分}的值
用例2
Builtln.Log ${投标之后—用户余额}