转自: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. git 保存用户名和密码

    打开TortoiseGit控制面板 点击 Edit global .gitconfig文件 添加 [credential] helper = store OK了 你再登录一次之后密码就被记住了

  2. 关于 HTTP 请求头的内容

    HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应.就整个网络资源传 ...

  3. 【BZOJ 2440】【中山市选 2011】完全平方数 莫比乌斯函数+容斥原理

    网上PoPoQQQ的课件: •题目大意:求第k个无平方因子数 •无平方因子数(Square-Free Number),即分解之后所有质因数的次数都为1的数 •首先二分答案 问题转化为求[1,x]之间有 ...

  4. windows无法安装到这个磁盘怎样解决

    装操作系统,出提示:windows无法安装到这个磁盘.这台计算机的硬件可能不支持启动到此盘.你甚至用专业的分区软件都无法解决这个问题,比如说PM等.一般在更换好新的硬盘的时候或者将操作系统装入移动硬盘 ...

  5. 在MAC上搭建tomcat,再使用servlet时遇到的问题。

    说起来真是惭愧.在mac上配置tomcat环境时.tomcat6能正确运行.但是7,8都运行不了.具体表现是tomcat6访问127.0.0.1:8080可以显示那个界面,然而tomcat7和8都显示 ...

  6. 网络爬虫3-使用LIB_http库

    LIB_http库提供了一个包装函数集,来简化复杂的PHP/CURL接口 1.http_get()函数,使用GET方法下载文件

  7. 和ef一起使用的一些知识点。

    ObjectContext.ExecuteFunction 方法 (String, ObjectParameter[]) .NET Framework 4.6 and 4.5    执行在数据源中定义 ...

  8. Android Studio :Android Studio 与 Gradle 深入【二】

    转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255063&extra=page%3D2%26filter%3Dautho ...

  9. BZOJ 1123: [POI2008]BLO

    1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1030  Solved: 440[Submit][Status] ...

  10. 针对CMS中的tag标签理解

    针对CMS的tag标签有以下解释: 什么tag标签? TAG标签是一种由自定义的一种标签,要比分类更加的准确,可以概括文章主要内容的关键词. 运用TAG标签,可以使网站的文章更容易被搜索引擎检索到.百 ...