滚滚向前滚

导航

 

目录

一、变量类型和声明

        在RF底层是通过python来实现的,所以RF创建变量和python类似,默认情况下,RF中的变量都是字符类型的。每个变量都是使用 变量标识符 {变量名} 的方式来定义和引用

1.1 scalar变量(也就是str变量)

${变量名}

1.2 list变量(列表)

@{变量名}

1.3 dict变量(字典)

&{变量名}

二、变量赋值

2.1 使用set variable和create关键字进行赋值

  1. scalar变量: 使用Set Variable来赋值
  2. list变量: 使用Set Variable和Create List关键字赋值
  3. 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    ${投标之后—用户余额}
posted on 2018-08-26 18:40  滚滚向前滚  阅读(386)  评论(0编辑  收藏  举报