一、关键字(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. Django进阶之Form

    Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 一.创建Form类 #!/usr/bin/en ...

  2. webpack实用配置总结

    1.webpack.config.js配置文件为: //处理共用.通用的js var webpack = require('webpack'); //处理html模板 var htmlWebpackP ...

  3. ffmpeg H264 编解码配置

    ffmpeg H264编解码前面有文章介绍下,本文主要介绍一些参数配置. 编码: int InitEncoderCodec( int iWidth, int iHeight) { AVCodec * ...

  4. Nouveau源代码分析(三):NVIDIA设备初始化之nouveau_drm_probe

    Nouveau源代码分析(三) 向DRM注冊了Nouveau驱动之后,内核中的PCI模块就会扫描全部没有相应驱动的设备,然后和nouveau_drm_pci_table对比. 对于匹配的设备,PCI模 ...

  5. Allegro16.6和17.0和17.2中将板框导出DXF文件

    Allegro16.6和17.0和17.2中将板框导出DXF文件 转载 https://blog.csdn.net/pieces_thinking/article/details/69817600 标 ...

  6. oracle [union.minus.intersect]

    union 两张表的相同字段的数据[记录类型和列数要一致],合并,并且去重 can replace with "in" (但是如果是两个不同的表而且没什么关联的话必须要union了 ...

  7. SubmittingPatches, SubmitChecklist and CodingStyle

    How to Get Your Change Into the Linux Kernel or Care And Operation Of Your Linus Torvalds For a pers ...

  8. 实现单击列表头对ListView的动态排序

    排序是根据列的类型来的,就ID列来说,int类型的排序结果是3,5,17,而如果你把该列类型改为string,结果就会是17,3,5,如果你定义列的时候不加类型,默认是string,如果是自定义类型, ...

  9. db2 命令

    很久没有些博客了.把以前用到的操作 DB2 的命令发表下可能有很多人已经发布了.就当是自己做下功课吧,以备有用之需. 1. 打开命令行窗口 #db2cmd 2. 打开控制中心 # db2cmd db2 ...

  10. 在Windows平台用visual studio编译的可执行文件部署时报:应用程序无法正常启动0xc000007b(跟DirectX9无关的原因)

    最近在做EasyDarwin开源流媒体服务器Windows版本编译与部署时发现一个问题,在开发机本机运行都很正常,但是部署到目标机器(未安装vs等开发环境)时,莫名其妙报出了"应用程序无法正 ...