转自:http://blog.csdn.net/tulituqi/article/details/7984642

一、变量的声明

1、变量标识符

每个变量都可以用  变量标识符{变量名}    来进行表示,变量标识符在之前用户关键字的地方介绍了一下,Scalar变量用 $ 作为标识符,List型变量用 @ 作为标识符,不过这只能作为一个初步的区分,因为同样在之前的文章里,大家应该也看到了,使用$ 的变量,实际上也可以在接收List值后转化成List变量。转化的内容会在List变量里介绍。

2、变量声明

其实这里没有什么特别的变量声明,因为RF底层是Python,所以他的语法也有些类似,变量不需要特定声明,只要有初始化赋值即可使用。

如果硬要说有声明,那可以把我们在TestSuite下面手动添加的变量理解为声明吧。比如我们可以在TestSuite上点右键或者在Edit区点Add Scalar或Add List来新增变量。

实际上也可以看做另一种形式的变量赋值,一般相当于使用Set Variable进行初始化赋值。

3、变量赋值

赋值也是有几种的,根据自己的需求进行处理吧。

1)Set 赋值

通常这种方式主要使用Set Variable或类似的使用了Set的关键字对变量进行赋值。例如:

2)Get 赋值

主要用于返回值上,包括系统关键字的返回值和用户关键字的返回值(从广义上说,Set那个也是返回值),例如:

之前的用户关键字里也有很多例子。

3)运行时赋值

详见流程与数据分离最后一篇,使用小v 的argument。

特别注意:如果一个变量没有经过赋值,使用时会报错的。

4、变量的作用域

通常情况下,每个变量默认都是局部变量。

一个case里的变量,作用域在这个case内部;

一个userkeyword里的变量,作用域在这个userkeyword内部;

一个文件型suite里的变量,作用域在这个suite内部,所有下面的case也都可以使用。

一个目录型suite里的变量,作用域在这个目录内,他下面的文件型suite是无法使用的,所以一般在目录下新增变量没有太大意义。

作用域是可以修改的,即通过一些系统关键字,对变量进行作用域的设定,常用的关键字有:

Set Global Variable ——设定全局级变量

Set Suite Variable ——设定suite级变量

Set Test Variable ——设定case级变量

二、变量的使用

其实使用变量我觉得不需要说太多了,变量的赋值可以看一下用户关键字的返回值部分,里面的单个返回值和多个返回值其实就是给单个变量赋值和多个变量赋值的例子了。

这里再列几种之前没有写过的例子吧。

1、在判断中使用

例如这样写,在第二行的判断中可以直接写判断条件,现在的条件成立,于是运行结果如下:

2、字符串使用

如果想把变量作为一个字符串的一部分,可以直接这样写

运行结果如下:

实际上默认情况下RF里的变量都是字符型的,并且两个字符串连接不要加什么符号,直接连起来就行了。

如果你写成aaa+${text}bbb,最终结果就是aaa+123bbb,他会把你写的任何内容都当作字符串的。

3、参与运算

看了上面的例子之后,可能有人说我想用123作为数值进行计算该怎么用。

这里要用到一个关键字Evaluate。先看个例子:

运行结果如下:

他的作用是可以让你加载Python的一些库,依赖于Python的语法,相当于直接运行对应的Python语句得到结果。

像上面的例子没有加载库,因为加减乘除这些是Python基本库就有的。下面放一个加载Python库的,如下图,他加载了random和sys两个库,并使用相应的语句生成一个随机数。

运行结果:

具体可以参考一下RF的userguide文档中BuiltIn部分。

Robot Framework--07 变量的声明、赋值及其使用的更多相关文章

  1. Robot Framework:变量与运算

    设置变量                                                                                                ...

  2. robot framework —— 变量文件

    何为变量文件? 变量文件中包含了测试数据中的变量.虽然变量可以通过变量表格中创建, 或者通过命令行设置, 不过这些方法有所局限, 而变量文件可以动态地创建任意类型的变量. 变量文件一般由Python模 ...

  3. robot framework学习笔记之二———变量

    Robot Framework的变量分为标量, 列表和字典, 分别使用语法格式 ${SCALAR}, @{LIST} 和 &{DICT} 来定义. 此外, 环境变量可以直接使用语法 %{ENV ...

  4. Robot Framework(八) 资源和变量文件

    2.7资源和变量文件 测试用例文件和测试套件初始化文件中的用户关键字和变量只能在创建它们的文件中使用,但资源文件提供了共享它们的机制.由于资源文件结构非常接近测试用例文件,因此很容易创建它们. 变量文 ...

  5. Robot Framework - 5 - 创建测试数据

    Creating test data User Guide - Creating test data:http://robotframework.org/robotframework/latest/R ...

  6. robot framework 笔记(一)

    背景: 平时使用rf时会用到一些方法,长时间不用就会忘记,本文用来记录当做自己的小笔记 内容持续更新中········ 一.robot framework 大小写转换 1.转换小写: ${low} E ...

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

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

  8. Robot Framework(六)变量

    变量 2.5.1简介 变量是Robot Framework的一个不可或缺的特性,它们可以在测试数据的大多数地方使用.最常见的是,它们用于测试用例表和关键字表中关键字的参数,但所有设置都允许在其值中使用 ...

  9. Robot Framework(9)- 使用变量文件

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

随机推荐

  1. Shell脚本_位置参数和预定义参数

    一.位置参数变量   1.输出两个输入参数之和 l1.sh 1 2 3 4 5 6 7 8 9 #!/bin/bash   num1=$1 num2=$2 sum=$((num1+num2))   # ...

  2. 第一天的作业,登录接口脚本 login.py

    user_list = [] count = 0 user = "liruixin" password = " raw_user = raw_input("us ...

  3. JavaScript写一个连连看的游戏

    天天看到别人玩连连看, 表示没有认真玩过, 不就把两个一样的图片连接在一起么, 我自己写一个都可以呢. 使用Javascript写了一个, 托管到github, 在线DEMO地址查看:打开 最终的效果 ...

  4. Maven-常用命令

    mvn archetype:create :创建 Maven 项目 mvn compile :编译源代码 mvn deploy 发布项目 mvn test-compile :编译测试代码 mvn te ...

  5. Segment-Based stereo matching

    首先代码实现是根据"Segment-Based Stereo Matching Using Belief Propogation and Self-Adapting Dissimilarit ...

  6. 关于 UINavigationController 的一些知识

    1.在 UINavigationController 中,添加一个UITextView,虽然设置self.frame = textView.bounds(从0.0开始),但是系统会自动设置一个cont ...

  7. 基于SURF特征的目标检测

    转战matlab了.步骤说一下: 目标图obj 含目标的场景图scene 载入图像 分别检测SURF特征点 分别提取SURF描述子,即特征向量 用两个特征相互匹配 利用匹配结果计算两者之间的trans ...

  8. 一次愚蠢的NOIP模拟赛

    找礼物[find.pas/find.c/find.cpp] [问题描述] 新年到了,突然间,就在那美丽的一霎那,你好友和你(K个人)的周围满是礼物,你发扬你帅气的风格,让你的好友先拿,但是每个人只能拿 ...

  9. 【bzoj4241】 历史研究

    http://www.lydsy.com/JudgeOnline/problem.php?id=4241 (题目链接) 看到题目就联想到了[bzoj2809] Apio2012—dispatching ...

  10. 前端rem单位的使用研究

    分析网易新闻手机web端,http://3g.163.com/,发现里面大量使用了rem这个单位进行计算大小. 针对rem这个单位有如下解析: px:像素是相对于显示器屏幕分辨率而言的相对长度单位.p ...