Robot FrameWork基础学习(三)
一、关键字(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基础学习(三)的更多相关文章
- Robot Framework基础学习(一)
Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用 变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...
- Robot FrameWork基础学习(二)
在Robot Framework中,测试套件(Test Suite)主要是存放测试案例,而资源文件(Resource)就是用来存放用户关键字. 内部资源:Resource 外部资源: External ...
- Robot Framework基础学习(六)
网页弹窗 参考:http://blog.csdn.net/Allan_shore_ma/article/details/65629246 常见的网页弹窗,有如下几类: alert ajax ifram ...
- Robot Framework基础学习(五)
Selenium2Library 常用关键字介绍 关于Selenium2Library 的关键字,我们可以参考:http://rtomac.github.io/robotframework-selen ...
- Robot FrameWork基础学习(四) 元素定位
元素定位 对于web自动化测试来说,就是操作页面的各种元素,在操作元素之间需要先找到元素,换句话说就是定位元素. Selenium2Library提供了非常丰富的定位器: 虽然提供了这么多种定位方式, ...
- Robot Framework语法学习(一)
Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用 变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...
- Spring Framework基础学习
Spring Framework基础学习 Core support for dependency injection,transaction management,web applications,d ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python基础学习三
Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...
随机推荐
- Django进阶之Form
Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 一.创建Form类 #!/usr/bin/en ...
- webpack实用配置总结
1.webpack.config.js配置文件为: //处理共用.通用的js var webpack = require('webpack'); //处理html模板 var htmlWebpackP ...
- ffmpeg H264 编解码配置
ffmpeg H264编解码前面有文章介绍下,本文主要介绍一些参数配置. 编码: int InitEncoderCodec( int iWidth, int iHeight) { AVCodec * ...
- Nouveau源代码分析(三):NVIDIA设备初始化之nouveau_drm_probe
Nouveau源代码分析(三) 向DRM注冊了Nouveau驱动之后,内核中的PCI模块就会扫描全部没有相应驱动的设备,然后和nouveau_drm_pci_table对比. 对于匹配的设备,PCI模 ...
- Allegro16.6和17.0和17.2中将板框导出DXF文件
Allegro16.6和17.0和17.2中将板框导出DXF文件 转载 https://blog.csdn.net/pieces_thinking/article/details/69817600 标 ...
- oracle [union.minus.intersect]
union 两张表的相同字段的数据[记录类型和列数要一致],合并,并且去重 can replace with "in" (但是如果是两个不同的表而且没什么关联的话必须要union了 ...
- SubmittingPatches, SubmitChecklist and CodingStyle
How to Get Your Change Into the Linux Kernel or Care And Operation Of Your Linus Torvalds For a pers ...
- 实现单击列表头对ListView的动态排序
排序是根据列的类型来的,就ID列来说,int类型的排序结果是3,5,17,而如果你把该列类型改为string,结果就会是17,3,5,如果你定义列的时候不加类型,默认是string,如果是自定义类型, ...
- db2 命令
很久没有些博客了.把以前用到的操作 DB2 的命令发表下可能有很多人已经发布了.就当是自己做下功课吧,以备有用之需. 1. 打开命令行窗口 #db2cmd 2. 打开控制中心 # db2cmd db2 ...
- 在Windows平台用visual studio编译的可执行文件部署时报:应用程序无法正常启动0xc000007b(跟DirectX9无关的原因)
最近在做EasyDarwin开源流媒体服务器Windows版本编译与部署时发现一个问题,在开发机本机运行都很正常,但是部署到目标机器(未安装vs等开发环境)时,莫名其妙报出了"应用程序无法正 ...