如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1770899.html

 

RF 的介绍

  • Robot Framework是基于 Python 的可扩展关键字驱动的自动化框架,用于验收测试
  • 验收测试驱动开发(ATDD),行为驱动开发(BDD)和机器人流程自动化(RPA)
  • 它可用于分布式,异构环境;在这些环境中,自动化需要使用不同的技术和接口。
  • 该框架周围有一个丰富的生态系统,由作为单独项目开发的各种通用库和工具组成

 

啥叫可扩展关键字驱动

分两part看,可扩展,关键字驱动

可扩展

代表你可以自己开发关键字,或者引用第三方的关键字库【如Selenium、Appium的关键字库】

关键字驱动

由关键字驱动着自动化测试的执行,所有测试用例都离不开关键字【RF的关键,也是学习的关键】

 

RF 常用的网站

官网

http://robotframework.org

github

https://github.com/robotframework/robotframework

官方文档

http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html

中文翻译的官方文档(基于 v3.0)

https://robotframework-userguide-cn.readthedocs.io/zh_CN/latest/

rf 标准库文档

http://robotframework.org/robotframework/#standard-libraries

 

RF的优势

直接引用官方的表述了

  • 表格式的语法简单易用,以统一的方式 创建测试用例
  • 可以通过现有关键字创建可复用的 高层关键字
  • 提供了直观的HTML格式的 测试报告 和 日志文件
  • 作为一个测试平台,是应用无关的
  • 提供了 测试库API,可以轻易地使用Python或者Java创建自定义的测试库
  • 提供了 命令行接口 和基于XML的 输出文件,可以与现有框架集成(如持续集成系统)
  • 提供了多种测试库支持,如用于web测试的Selenium,Java GUI测试,启动进程,Telnet,SSH等
  • 可以创建 数据驱动的测试用例
  • 内置支持 变量,在不同的环境中特别实用
  • 提供 标签 来分类和 选择测试用例
  • 非常容易与源码控制系统集成,因为 测试套件 就是文件夹和文本文件
  • 提供了 用例级别 和 测试套件级别 的setup和teardown
  • 模块化的架构,支持针对不同接口的应用程序创建测试

 

RF 的架构

 RF 是一个通用的,应用和技术无关的框架,它的架构如下图

测试数据(test data)使用非常简单、易于编辑的表格格式,Robot Framework会解析测试数据,执行测试用例,并生成日志和报告

框架本身对测试对象一无所知, 而是通过 测试库 与其交互;测试库可能是直接使用被测应用程序的接口, 也可以使用其它底层的测试工具作为驱动

通俗易懂的中文架构图

 

RF 栗子

测试用例

下图是因为用例RIDE,才会用这种方法显示用例,但是也可以用Pycharm 和 VSCode来写【后面统一使用Pycharm了,就不讲解RIDE了,有空再说】

测试报告