转载:http://www.cnblogs.com/CCGGAAG/p/7800321.html

实际的测试过程中,编写脚本时,我们需要创建一些变量来暂时或者永久性的存储数据,那么在Robotframework中该怎么做呢,我们可以通过图形界面,在每一个suite中我们可以创建变量,而Robotframework提供了三种变量类型来供选择,一种单个数据 Scalar、一种是列表List、一种是字典Dictionary,下面我们来学习一下如果通过Robotframework来创建这些变量。

一般来说我们对于一些会被反复使用、不会经常变动、会从不同的模块里调用的数据,我们要创建全局变量来随时引用,并且,比如网址、xpath路径、测试数据等;

而那些临时的数据,需要随时获取、值不固定、临时存储的数据,比如说从网页获取的标题、某个元素的文本等,我们可以直接在case中临时创建。

这篇前三节主要讲解描述全局变量、第四节我们讲述和解析局部变量。

1.在suite中创建全局变量

点击suite套件的右键菜单创建的变量,作用域在这个suite全局

点击项目名称的右键菜单创建的变量,作用域在这个项目全局

而在case中新建的变量作用域仅在case中

我们之前已经创建了suite和case,我们点击suite并在右键菜单中选择New Scalar 来创建一个单个数据变量

Name:        变量名

Vulue:        变量值

Comment:注释

创建Scalar

对于创建List和Dic是一样的方法,不过写法有所不同

dic字典的创建,通过每个表格中key=value的方式来创建

2.三种类型之间的区别

通过下图,我们可以知道三种类型的创建和引用有何区别:

3.实际案例展示

这里我们直接创建了这三种数据,

然后,我们新建一个case,来验证一下我们能否引用这些数据类型

1行为单个数据scalar,2、3、4行是list,5行是dic

我们中间在2、3行使用了一个循环语法,来循环的输出列表中的内容

然后我们run一下,看一看结果

 

4.关于局部变量的创建和使用

对于局部变量来说,一般是在每个case中临时创建,创建方式和关键字如下所示

具体在case中该如何写呢,我们来看一下:

然后我们来run一下看看结果:

Robotframework(4):创建变量的类型和使用的更多相关文章

  1. Robot Framework(十四) 扩展RobotFramework框架——创建测试库

    4.1创建测试库 Robot Framework的实际测试功能由测试库提供.有许多现有的库,其中一些甚至与核心框架捆绑在一起,但仍然经常需要创建新的库.这个任务并不复杂,因为正如本章所示,Robot ...

  2. Go语言学习笔记1 变量,类型以及赋值

    1.变量 1.1 声明变量 使用var关键字可以创建一个指定类型的变量: var i int = 0 var i = 0 var i int 以上三个表达式均是合法的,第三个表达式会将i初始化为int ...

  3. 使用typeid(变量或类型).name()来获取常量或变量的类型---gyy整理

    使用typeid(变量或类型).name()来获取常量或变量的类型 <typeinfo>  该头文件包含运行时类型识别(在执行时确定数据类型)的类 typeid的使用   typeid操作 ...

  4. Go语言学习笔记(二) [变量、类型、关键字]

    日期:2014年7月19日 1.Go 在语法上有着类 C 的感觉.如果你希望将两个(或更多)语句放在一行书写,它们 必须用分号分隔.一般情况下,你不需要分号.   2.Go 同其他语言不同的地方在于变 ...

  5. [日常] go语言圣经-声明,变量,赋值,类型,包和文件习题

    go语言圣经-声明1.四种类型的声明语句:var.const.type和func,分别对应变量.常量.类型和函数实体对象的声明2.包一级声明语句声明的名字可在整个包对应的每个源文件中访问,局部声明的名 ...

  6. js 动态创建变量

      js 动态创建变量 CreationTime--2018年7月2日15点04分 Author:Marydon 1.实现方式 通过eval()实现 2.代码实现 /** * 声明一个函数 * @ex ...

  7. javascript中检测一个变量的类型

    /** * 怎么检测一个变量的类型? * 在js中检测对象类型主要有三种:typeof, instanceof, constructor, 这几种都可以检测对象的类型. * 另外还可以适应jQuery ...

  8. TensorFlow创建变量

    1 使用tf.Variable函数创建变量 tf.Variable(initial_value=None,trainable=True,collections=None,validate_shape= ...

  9. python变量、类型、运算、输出

    1.变量.类型.运算.输出等 # -*- coding: utf-8 -*- a=2 b=3 c=a+b print u'结果是=%i'%c #加u显示中文 str=unicode(s,"u ...

随机推荐

  1. ChibiOS/RT 2.6.9 CAN Driver

    Detailed Description Generic CAN Driver. This module implements a generic CAN (Controller Area Netwo ...

  2. 微信emoji表情编码 、MySQL 存储 emoji 表情符号字符集

    相关资料 微信emoji表情编码 微信用户名显示「emoji表情」 PHP处理微信中带Emoji表情的消息发送和接收(Unicode字符转码编码) MySQL 存储emoji表情 MySQL 存储 e ...

  3. WinForm MDIParent如何防止重复打开

    DI,全称是多文档界面(Multiple Document Interface),主要应用于基于图形用户界面的系统中.其目的是同时打开和显示多个文档,便于参考和编辑资料. 下面是一个WinForm M ...

  4. Delphi 类的类 class of 用法

    http://blog.csdn.net/blue_morning/article/details/8815609 Delphi 类的类 class of 用法   这个概念本来在一个关于Delphi ...

  5. [Winform]Media Player播放控制面板控制,单击事件截获

    摘要 在项目中有这样的一个需求,需要在一台宣传机器上循环播放一段视频,并在体验的用户单击鼠标左键的时候推出全屏,可以让用户体验电脑的其它功能. 解决方案 考虑到都是windows系统的,所以采用了wi ...

  6. panel内嵌程序窗体

    function RunAppInPanel(const AppFileName: string; ParentHandle: HWND; var WinHandle: HWND): Boolean; ...

  7. iphone手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognizer

    首先新建一个基于Sigle view Application的项目,名为GestureTest;我的项目结构如下: 往viewController.xib文件里拖动一个imageView,并使覆盖整个 ...

  8. ormlite 在android中 排序 条件查询

    ormlite 在android中 排序 条件查询 all = dao.queryBuilder().orderBy("Id", true).where().eq("Ty ...

  9. 给hmailserver添加SSL支持

    我们使用stunnel来给hmailserver添加ssl支持,stunnel是一个开源跨平台提供全局TLS/SSL支持的软件,它可以给很多本身不支持ssl的软件来提供安全的加密连接,同样可以用于hm ...

  10. poj 2348 Euclid's Game 题解

    Euclid's Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9023   Accepted: 3691 Des ...