robot framework整理 - 8dspaces/blog_8dspaces GitHub Wiki
Robot Framework(RF) 整理
基础信息
Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或> 者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)
特性
- 测试用例使用文本文件(TXT或者TSV文件)保存,使用制表符分隔数据。可以方便的使用任何文本编辑器,或者EXCEL编辑测试用例。也可以使用HTML格式创建用例。
- 测试用例中支持变量使用,可以使用IF语句和FOR循环语句。
- 可以利用“标签”功能对测试用例进行分类和有选择执行。
- 支持关键字驱动、数据驱动和行为驱动。
- 利用已有的关键字,测试人员可以创建自己需要的关键字,形成更高级别的行为。
- 测试执行报告和日志是HTML格式,容易阅读。
- Robot Framework并不是一款像QTP一样的自动化测试工具。它是一个自动化测试框架,或者说是一个自动化测试平台。
- 提供了测试执行事件的监听接口,并且可以自定义接口中的脚本。例如,某个用例执行前,“start_test”接口中的脚本就会被执行;用例执行结束后,“end_test”接口中的脚本就会被执行。而测试人员可以自定义“start_test”、“end_test”这两个接口的脚本。
- 提供了命令行接口和XML格式的输出。可以与版本管理工具结合,进行持续集成。
- Robot Framework是通过测试库识别被对象、操纵被测对象,有很多自带的或者第三方的开源测试库。例如,使用“selenium2Library”库测试web客户端。此外还可以测试java客户端、Win32客户端、SSH协议的字符终端等。
- 测试人员可以使用Python和java创建自己需要的测试库。
- 提供了远程测试执行接口,可以进行分布式测试执行。
关键字驱动
robot framework 背后的理念是关键字驱动测试,关键字驱动测试可以
关键字驱动测试(keyword-driven testing),也称为表格驱动测试(table-driven testing)或行动字驱动测试(action-word testing),是针对自动化测试的软件测试方法,它将创建测试程序的步骤分为规划及实现二个阶段。 关键字最简单形式的定义是一个或多个最小测试步骤的集合。
规划阶段 准备测试所需的资源及测试工具。
关键字的范例
- 简单的关键字是针对一个物体的一个动作,例如在文字字段中输入用户名称:
- 复杂的关键字是由几个测试步骤,组合成一个有意义的动作,例如登入:
实现阶段 实现阶段依使用的框架而不同。一般自动化的工程师会提供一个有一些关键字(像“检查”或“输入”)的框架[1]。 测试者或测试工程师不需要会写程式,只需利用规划阶段定义的关键字撰写测试用例。测试会由一个依序读取关键字并执行对应程式码的程式来进行。
其他测试方式都在实现阶段完成所有工作。关键字驱动测试不是将测试设计和测试工作分离,而是让测试设计本身就是测试自动化。关键字(像“检查”或“输入”)会利用工具产生,也已经有对应的程式码,因此在测试的实现过程中不需再增加工程师来撰写测试软件,因此关键字的实现已经是工具中的一部份。
RF关键字
RF关键字一般分为测试库关键字和用户关键字
测试库关键字来自于Library用户关键字来自于 Resource
关键字是可组合的