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    ${投标之后—用户余额}
    
  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/gupan/p/9538204.html
Copyright © 2011-2022 走看看