一、关键字(Keyword)根据架构的区分可分为以下三层结构:

底层关键字、公共层关键字、特性关键字。

底层关键字一般与最底层的代码在关系,为上层公共关键字和特性关键字提供接口。

公共层关键字:一般是与程序具体功能关联的;

特性层关键字:一般是与具体业务关联的,也可以称做业务关键字。一般调用底层和公共层关键字。

二、 Ride 内置常用关键字

Log:  打印日志信息

Repeat Keyword:  重复执行某个关键字多少次

Run Keyword:  执行关键字

Run Keyword if:  满足条件时执行某个关键字

Run Keyword if Any Tests Failed:  测试套任务用例失败时,执行该关键字

Run Keyword if Test Failed:  测试用例失败时执行操作

Run Keyword if *:  一系例条件执行某种操作

Set Variable:  设置变量

Should Be True/Should Not Be True:  验证

Sleep:  等待时间

For:  执行循环

exit for loop/if:  推出循环。

三、手工用例转自动化

1.根据手动用例提取关键字

2.关键字优化,合并公共的关键字,定义参数和初始化条件等

3.组装关键字成用例

  • 手工测试思路:

  前置条件----->测试步骤------>结果验证

  • 自动化测试思路:

  初始化------>前置条件------->测试步骤-----(Y or N)----->结果验证--------->Finally

四、用例编写技巧总结

1.充分利用用例的setup和teardown

  • 测试套的suite setup和suite  teardown,在执行这个测试套开始和结束时的通用方法,一般可以为测试套用例的环境初始及清理操作。
  • 测试套的test setup和test teardown,该测试套中的每个用例的开始和结束操作,通常为用例级别的环境初始、清理或者恢复操作。
  • 测试用例的test setup和test teardown,为该用例的在执行的开始和结束操作,通常为用例级别的环境初始、清理或者恢复操作。

如下图所示:

2.测试用例过程中失败尽量使环境恢复,以免影响后面的用例扫行。

3.用例有可能会失败的地方,需要考虑环境恢复操作

4.如果一个测试套的初始操作基本上一致,把该操作放在测试套或者第一个用例,不必每个用例都调用该方法

Robot FrameWork基础学习(三)的更多相关文章

  1. Robot Framework基础学习(一)

    Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用  变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...

  2. Robot FrameWork基础学习(二)

    在Robot Framework中,测试套件(Test Suite)主要是存放测试案例,而资源文件(Resource)就是用来存放用户关键字. 内部资源:Resource 外部资源: External ...

  3. Robot Framework基础学习(六)

    网页弹窗 参考:http://blog.csdn.net/Allan_shore_ma/article/details/65629246 常见的网页弹窗,有如下几类: alert ajax ifram ...

  4. Robot Framework基础学习(五)

    Selenium2Library 常用关键字介绍 关于Selenium2Library 的关键字,我们可以参考:http://rtomac.github.io/robotframework-selen ...

  5. Robot FrameWork基础学习(四) 元素定位

    元素定位 对于web自动化测试来说,就是操作页面的各种元素,在操作元素之间需要先找到元素,换句话说就是定位元素. Selenium2Library提供了非常丰富的定位器: 虽然提供了这么多种定位方式, ...

  6. Robot Framework语法学习(一)

    Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用  变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...

  7. Spring Framework基础学习

    Spring Framework基础学习 Core support for dependency injection,transaction management,web applications,d ...

  8. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  9. Python基础学习三

    Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...

随机推荐

  1. idea自动注入和自动编译

    ---恢复内容开始--- 自动编译也就是时时编译,当我们写错代码的时候,idea能够马上报错,这个是不错的功能. 安装操作看下图: 下面这个功能的作用就是,如果你不修改的话,你的项目可以正常运行,但是 ...

  2. FastDFS的配置、部署与API使用解读(8)FastDFS多种文件上传接口详解(转)

    1.StorageClient与StorageClient1的区别 相信使用happy_fish的FastDFS的童鞋们,一定都熟悉StorageClient了,或者你熟悉的是StorageClien ...

  3. HDU 3564 Another LIS splay(水

    题意: 给定一个空序列 插入n个数(依次插入 1.2.3.4··n) 以下n个数表示i插在哪个位置. 每插入一个数后输出这个序列的lis 然后... 由于每次插入的数都是当前序列最大的数 所以不会影响 ...

  4. 【网络协议】TCP的流量控制机制

    一般来说,我们总是希望传输数据的更快一些,但假设发送方把数据发送的非常快.而接收方来不及接收,这就可能造成数据的丢失.流量控制就是让发送方的发送速率不要太快.让接收方来得及接收. 对于成块数据流,TC ...

  5. java中使用opencv

    Java + opencv学习:在Eclipse下配置基于Java的OpenCV开发环境 2016-04-08 17:43 6491人阅读 评论(0) 收藏 举报  分类: OpenCV学习(10)  ...

  6. 话说Session

    Session这个概念,对于搞软件的来说,再熟悉不过了.就拿我来说,Hibernate, Shiro, Spring, JSP, Web Server等等,全都涉及到Session. 不怕笑话,一直都 ...

  7. C# GetHashCode 的实现方式

    在项目中,在使用哈希表时.有时会须要Override GetHashCode. 这里给出一种普遍的做法: 版本号1:实现一个helper.传递类型T.返回这个类型的hashcode.函数逻辑非常直接, ...

  8. iOS9新特性之泛型

     iOS9新特性之泛型 作用:限制类型 好处:1.提高开发规范,减少程序员之间的交流 2.通过集合取出来的对象,直接当作泛型对象使用,可以直接使用点语法(id类型不能使用点语法) 使用场景: 1.在集 ...

  9. windowbuilder安装

    windowbuilder,也就是原来的SWT Designer.Google收购了Instantiations,把它的工具也重新免费发布了.用过swt designer的人都知它是非常好用的swin ...

  10. 解决Error:Unable to find method 'org.gradle.api.internal.project.ProjectInternal.

    错误描述今天在Github上面下载了一份代码,然后导入到Android Studio中直接报错误 错误描述如下: Error: Unable to find method ‘org.gradle.ap ...