robot framework整理 - 8dspaces/blog_8dspaces GitHub Wiki

Robot Framework(RF) 整理

基础信息

Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或> 者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)

官网:http://robotframework.org/

特性

  1. 测试用例使用文本文件(TXT或者TSV文件)保存,使用制表符分隔数据。可以方便的使用任何文本编辑器,或者EXCEL编辑测试用例。也可以使用HTML格式创建用例。
  2. 测试用例中支持变量使用,可以使用IF语句和FOR循环语句。
  3. 可以利用“标签”功能对测试用例进行分类和有选择执行。
  4. 支持关键字驱动、数据驱动和行为驱动。
  5. 利用已有的关键字,测试人员可以创建自己需要的关键字,形成更高级别的行为。
  6. 测试执行报告和日志是HTML格式,容易阅读。
  7. Robot Framework并不是一款像QTP一样的自动化测试工具。它是一个自动化测试框架,或者说是一个自动化测试平台。
  8. 提供了测试执行事件的监听接口,并且可以自定义接口中的脚本。例如,某个用例执行前,“start_test”接口中的脚本就会被执行;用例执行结束后,“end_test”接口中的脚本就会被执行。而测试人员可以自定义“start_test”、“end_test”这两个接口的脚本。
  9. 提供了命令行接口和XML格式的输出。可以与版本管理工具结合,进行持续集成。
  10. Robot Framework是通过测试库识别被对象、操纵被测对象,有很多自带的或者第三方的开源测试库。例如,使用“selenium2Library”库测试web客户端。此外还可以测试java客户端、Win32客户端、SSH协议的字符终端等。
  11. 测试人员可以使用Python和java创建自己需要的测试库。
  12. 提供了远程测试执行接口,可以进行分布式测试执行。

关键字驱动

关键字驱动

robot framework 背后的理念是关键字驱动测试,关键字驱动测试可以

关键字驱动测试(keyword-driven testing),也称为表格驱动测试(table-driven testing)或行动字驱动测试(action-word testing),是针对自动化测试的软件测试方法,它将创建测试程序的步骤分为规划及实现二个阶段。 关键字最简单形式的定义是一个或多个最小测试步骤的集合。

  • 规划阶段 准备测试所需的资源及测试工具。

    关键字的范例

    • 简单的关键字是针对一个物体的一个动作,例如在文字字段中输入用户名称:
    • 复杂的关键字是由几个测试步骤,组合成一个有意义的动作,例如登入:
  • 实现阶段 实现阶段依使用的框架而不同。一般自动化的工程师会提供一个有一些关键字(像“检查”或“输入”)的框架[1]。 测试者或测试工程师不需要会写程式,只需利用规划阶段定义的关键字撰写测试用例。测试会由一个依序读取关键字并执行对应程式码的程式来进行。

    其他测试方式都在实现阶段完成所有工作。关键字驱动测试不是将测试设计和测试工作分离,而是让测试设计本身就是测试自动化。关键字(像“检查”或“输入”)会利用工具产生,也已经有对应的程式码,因此在测试的实现过程中不需再增加工程师来撰写测试软件,因此关键字的实现已经是工具中的一部份。

RF关键字

RF关键字一般分为测试库关键字用户关键字

  • 测试库关键字 来自于Library
  • 用户关键字 来自于 Resource

关键字是可组合的