zoukankan      html  css  js  c++  java
  • RF04 Variables

    目录

    一、变量类型和声明

            在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    ${投标之后—用户余额}
    
  • 相关阅读:
    第04组 Beta冲刺(2/4)
    第04组 Beta冲刺(1/4)
    2019 SDN上机第6次作业
    SDN课程阅读作业(2)
    2019 SDN上机第5次作业
    第04组 Alpha事后诸葛亮
    第04组 Alpha冲刺(4/4)
    2019 SDN上机第4次作业
    第04组 Alpha冲刺(3/4)
    第07组 Alpha冲刺(4/6)
  • 原文地址:https://www.cnblogs.com/gupan/p/9538204.html
Copyright © 2011-2022 走看看