RobotFramework简介

简介

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

特点

  • 使用关键字的机制,更容易上手
  • 提供了RIDE,对于不熟悉编码的人来说比较友好
  • 可以利用“标签”功能对测试用例进行分类和有选择执行
  • 利用已有的关键字,测试人员可以创建自己需要的关键字,形成更高级别的行为
  • 提供了命令行接口和XML格式的输出。可以与版本管理工具结合,进行持续集成
  • 有很多自带的或者第三方的开源测试库
  • Log和Report非常好
  • 使用变量文件的机制来描述不同的环境
  • 提供了远程测试执行接口,可以进行分布式测试执行

    实例

    在线Demo

    测试工具选择的一般性原则

    首先来看一下自动化验收测试的层次,然后对每层进行分析:

测试框架–测试库–被测系统

测试框架

  1. 最下面是被测系统,需要明确它的形态,比如是Web系统、REST系统或者特定协议系统。
  2. 中间是测试库。比如Selenium、SSH、Scapy等,有了它们用例才能和被测系统进行交互,所以需要根据被测系统的形态来选择相应地测试库。该层的选择需要考虑几个因素:
  • 测试库的易用程度。
  • 测试库是否有良好的商业或者开源社区的支持。
  • 团队成员是否熟悉测试库使用的编程语言。
    (3.手动添加序号,有序列表和无序列表好像不能交叉,这个MD的bug吗?)最上层则是测试框架,也就是Cucumber和RobotFramework这一层。其作用包括用例管理、测试数据管理、测试运行、测试报告等。该层的选择需要考虑几个因素:
  • 这一层会通过函数调用的方式和测试库打交道,因此测试框架必须支持测试库所使用的编程语言。
  • 是否提供易用的测试用例开发环境,比如是否有如RIDE这样的专用工具,或者Intellij的IDE的插件。
  • 引入某个测试框架之后对现有工作模式的影响程度,比如让不懂编程的测试人员写代码。
    以上这些点是从RobotFramework和Cucumber的对比中总结出来的,但如果你想要选择这两者之外的其他框架,同样可以考虑上述这些原则。
欢迎打赏!