转自: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. 堆 poj 2010

    选n个人从c个中 花费不超过f c个人的成绩和花费 求分数中位数最大 n是奇数 显然中位数是n/2+1 ~c-n/2之间的(假如存在的话) 用大顶堆维护前n/2个小的花费 求出以这个人为中位数的花费 ...

  2. JAVA System.getProperty() 与 System.getenv() 差异及示例

    System.getenv() 方法是获取指定的环境变量的值. System.getenv() 接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null. System.getP ...

  3. asp.net(C#)时间相减 得到天数、小时、分钟、秒差

    asp.net(C#)时间相减 得到天数.小时.分钟.秒差 DateTime dtone = Convert.ToDateTime("2007-1-1 05:00:00"); Da ...

  4. 国外有哪些比较好的IT社区

    作者:匿名用户链接:https://www.zhihu.com/question/35373320/answer/114468522来源:知乎著作权归作者所有,转载请联系作者获得授权. Github ...

  5. 数据结构之二分查找(PHP)

    <?php //二分查找算法 //前提:索引数组.数组已排好顺序 $a=array(1,3,4,6,8,9,11,13,15,24,25,27,30,38); $search = 30;//要查 ...

  6. plsql dev引起的数据库被黑勒索比特币实现原理分析和解决方案

    转自http://www.xifenfei.com/2016/11/plsql-dev-hacker-bitcoin.html afterconnect.sql是plsql dev登录后自动执行脚本, ...

  7. Leetcode 110. Balanced Binary Tree

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  8. bzoj1102: [POI2007]山峰和山谷Grz

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  9. SPOJ GSS4 Can you answer these queries IV

    Time Limit: 500MS   Memory Limit: 1572864KB   64bit IO Format: %lld & %llu Description You are g ...

  10. C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)

    http://blog.csdn.net/jiangxinyu/article/details/6222322/ 转载自CSDN