如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1770899.html
RF 的介绍
- Robot Framework是基于 Python 的可扩展关键字驱动的自动化框架,用于验收测试
- 验收测试驱动开发(ATDD),行为驱动开发(BDD)和机器人流程自动化(RPA)
- 它可用于分布式,异构环境;在这些环境中,自动化需要使用不同的技术和接口。
- 该框架周围有一个丰富的生态系统,由作为单独项目开发的各种通用库和工具组成
啥叫可扩展关键字驱动
分两part看,可扩展,关键字驱动
可扩展
代表你可以自己开发关键字,或者引用第三方的关键字库【如Selenium、Appium的关键字库】
关键字驱动
由关键字驱动着自动化测试的执行,所有测试用例都离不开关键字【RF的关键,也是学习的关键】
RF 常用的网站
官网
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了,有空再说】