一、scalar 变量

  • ${} 定义 scalar 变量
  • ${} 还用来取值

1.set variable  设置变量

${name}    Set Variable    zhangsan
log    ${name} #结果如下
20200311 12:43:49.445 : INFO : ${name} = zhangsan
20200311 12:43:49.445 : INFO : zhangsan #打印出结果 zhangsan

2.变量取值

  • ${var[index]}  索引取值
${name}    Set Variable    zhangsan
log    ${name[4]} #结果如下
20200311 12:47:21.584 : INFO : ${name} = zhangsan
20200311 12:47:21.584 : INFO : g #取出结果 "g"
  • ${var[start_index:end_index:step]}  切片取值
${name}    Set Variable    zhangsan
log    ${name[:5]}
log    ${name[:5:2]} #结果如下
20200311 12:51:35.801 : INFO : ${name} = zhangsan
20200311 12:51:35.801 : INFO : zhang #第一次切片取出结果 zhang
20200311 12:51:35.801 : INFO : zag #第二次切片取出结果 zag
  • Catenate  字符串拼接
${name1}    Catenate    zhang    san
log     ${name1}
${name2} Catenate SEPARATOR= li si
log     ${name2}
${name3} Catenate SEPARATOR=- wang wu
log    ${name3} #结果如下
20200311 12:55:50.386 : INFO : ${name1} = zhang san
20200311 12:55:50.387 : INFO : zhang san #第一个拼接结果(姓和名直接存在一个空格)
20200311 12:55:50.388 : INFO : ${name2} = lisi
20200311 12:55:50.388 : INFO : lisi #第二个拼接结果(姓和名直接存没有空格)
20200311 12:55:50.389 : INFO : ${name3} = wang-wu
20200311 12:55:50.389 : INFO : wang-wu #第三个拼接结果(姓和名直接存在一个 "-")

二、list 变量

  • @{} 定义 list 变量
  • ${} 还用来取值

1.Create List 创建列表

@{list1}    Create List    name    age    sex
log    ${list1} #这里使用了 log 进行打印操作 #结果如下20200311 13:02:16.510 : INFO : ['name', 'age', 'sex'] #得到的是一个列表
@{list1}    Create List    name    age    sex
Log Many  ${list1} #这里使用了 Log Many 进行打印操作 #结果如下20200311 13:05:56.259 : INFO : ['name', 'age', 'sex'] #得到的也是一个列表

2.Set Variable  创建列表

@{list1}    Set Variable    name    age    sex
Log Many ${list1} #结果如下20200311 13:08:05.653 : INFO : ['name', 'age', 'sex']

3.Append To List  列表中添加值

  • 前提:需要在工程中加载 Collections 库
@{list1}    Create List    zhangsan    lisi
Log Many ${list1}
Append To List ${list1} wangwu #往 @{list1} 中追加 wangwu
Log Many ${list1} #结果如下
20200311 13:20:54.885 : INFO : ['zhangsan', 'lisi'] #追加前结果
20200311 13:20:54.886 : INFO : ['zhangsan', 'lisi', 'wangwu'] #追加后结果

4.Insert Into List  列表中添加值(通过索引添加到指定位置)

@{list1}    Create List    zhangsan    lisi
Log Many ${list1}
Insert Into List ${list1} 1 wangwu #往列表 ${list1} 中索引为 1 的位置插入 wangwu
Log Many ${list1} #结果如下
20200311 13:24:48.873 : INFO : ['zhangsan', 'lisi']
20200311 13:24:48.874 : INFO : ['zhangsan', 'wangwu', 'lisi']

5.列表取值(索引取值)

@{list1}    Create List    zhangsan    lisi    wangwu
Log Many ${list1[1]} #结果如下
20200311 13:26:46.683 : INFO : lisi

6.列表中取值(切片取值)

@{list1}    Create List    zhangsan    lisi    wangwu
Log Many ${list1[0:2]} #结果如下
20200311 13:28:23.848 : INFO : ['zhangsan', 'lisi']

三、dict 字典

  • &{} 定义 dict 变量
  • ${} 还用来取值

1.Create Dictionary  创建字典

  • 通过 key = value 的形式
&{stu}    Create Dictionary    name=zhangsan    age=20
Log Many ${stu} #结果如下
20200311 13:32:00.520 : INFO : {'name': 'zhangsan', 'age': ''}
  • 通过 key 和 value 分开写的形式
&{stu}    Create Dictionary    name    zhangsan    age    18
Log Many ${stu} #结果如下
20200311 13:33:49.727 : INFO : {'name': 'zhangsan', 'age': ''}

2.字典取值:${dict}[key]

&{stu}    Create Dictionary    name=zhangsan    age=18
Log Many ${stu}[name] #结果如下
20200311 13:36:18.868 : INFO : zhangsan #得到 name 的值

四、全局变量

1.在项目 project 或者工程 suite 右击鼠标如下选择创建

2.变量

3.列表变量

4.字典变量

5.调用全局变量

log    ${name}
Log Many ${list1}
Log Many ${dict1} #结果如下
20200311 13:49:31.669 : INFO : zhangsan
20200311 13:49:31.670 : INFO : ['zhangsan', 'lisi', 'wangwu']
20200311 13:49:31.670 : INFO : {'name': 'zhangsan', 'age': '', 'sex': 'boy'}

RF(scalar/list/dict变量)的更多相关文章

  1. 2.RF中scalar,list和dict变量的定义和取值

    $:定义scalar变量:@定义list变量:&定义dict变量: $还用来取值,包含scalar, list和dict变量,如下example所示 1.定义scalar变量:set vari ...

  2. RF之关键字、变量、循环

    关键字的使用: RF的能力是由关键字提供的,所以,我们必须对RF的常用关键字有个了解 . 最常用的关键字就在RF的关键字中.http://robotframework.org 其中Builtin是标准 ...

  3. 【python】为什么修改全局的dict变量不用global关键字

    转自:http://my.oschina.net/leejun2005/blog/145911?fromerr=qnPCgI19#OSC_h4_8 为什么修改字典d的值不用global关键字先声明呢? ...

  4. RF内建的变量

    ${CURDIR} 提供当前测试文件存放的绝对路径.该变量是大小写敏感的.${TEMPDIR} 获取操作系统临时文件夹的绝对路径. 在UNIX系统是在/tmp, 在windows系统是在c:\Docu ...

  5. 八、RF的内置变量

    1.表示“空”的变量 ${EMPTY} 空 适用输入空的案例 2.表示“空格”的变量 ${SPACE} 空格,如果是需要5个空格可以这样写${SPACE*5} 3.目录的绝对路径 ${CURDIR} ...

  6. Robot Framework(12)- 详细解读 RF 的变量和常量

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 常量的栗子 常量 ...

  7. RF之变量的共享使用与python测试库-5

    RF申明变量: 首先我们要创建Variables表 *** Settings *** ${LoginUrl}      http://cloud.innovpowerf.com/Account/Log ...

  8. Robot Framework(13)- RF 循环的详细使用

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 前言 RF用   ...

  9. Python中model转dict

    问题 在query出来的行信息object中有一个dict变量,这个变量存储了字典信息 for u in session.query(User).all(): print u.__dict__ 但是这 ...

随机推荐

  1. 怎么搭建python环境?很简单,就几步的事

    现在学习python的人越来越多了,而学习python必备的就是搭建python环境,那么,到底怎么搭建python环境呢? 首先,你需要有安装包,这个去官网下载就可以了,如果不会的话,可以看文章底部 ...

  2. RNN循环神经网络(Recurrent Neural Network)学习

    一.RNN简介 1.)什么是RNN? RNN是一种特殊的神经网络结构,考虑前一时刻的输入,且赋予了网络对前面的内容的一种'记忆'功能. 2.)RNN可以解决什么问题? 时间先后顺序的问题都可以使用RN ...

  3. Android调用系统设置

    最近,弄了一下,调用系统设置的方法,Android4.0的系统,下面的所有设置项,都亲测可以调用.首先调用的方式如下: Intent mintent_setting_time = new Intent ...

  4. nmon 的下一代工具 njmon

    njmon njmon = nmon + JSON format + real-time push to a stats database + instant graphing of "al ...

  5. 关于 System.IO.File.Exists 需要注意的事项

    各位:   .NET Framework 本省在设计的时候,他对于异常没有完全做到抛出,这样可能会有很多意想不到的问题.   比如 你在asp.net 应用程序中判断文件是否存在,这个文件可能是一个共 ...

  6. L5语言模型与数据集

    本次实验使用的数据下载: jaychou_lyrics.txt 链接:https://pan.baidu.com/s/1LJSrkpV84YF61OPmjIHGIw 提取码:dj53 语言模型 一段自 ...

  7. F - Pearls HDU - 1300

    简单dp. 题目大意:有n种珍珠,这n种珍珠有不同的需求量,不同的价格,价格越高,质量越高,在购买每一种珍珠时,都需要在原来的基础上多买10个.也就是说如果需要买x种珍珠,那就要付x+10个的钱.每一 ...

  8. Gatling 条件判断

    在使用Gatling的过程中,当前置接口异常,无法获取到数据作为其他接口的请求参数室,接口是不能请求的.或者通过feeder获取的数据要区分不同的情况请求不同的接口.此时,使用gatling的判断语句 ...

  9. CISCN love_math和roarctf的easy_clac学习分析

    Love_math 题目源码: <?php error_reporting(0); //听说你很喜欢数学,不知道你是否爱它胜过爱flag if(!isset($_GET['c'])){ show ...

  10. HBase可用性分析与高可用实践

    HBase作为一个分布式存储的数据库,它是如何保证可用性的呢?对于分布式系统的CAP问题,它是如何权衡的呢? 最重要的是,我们在生产实践中,又应该如何保证HBase服务的高可用呢? 下面我们来仔细分析 ...