自动化测试利器为什么是RobotFramework?

发布于 更新于

技术文章

当前,Python阵营RobotFramework和Java阵营的Cucumber是最通用且功能齐全的自动化测试框架,在业界也广受好评。其中RobotFramework符合多数自动化测试人员的技术栈(Python),因此在各种测试场景被广泛...

当前,Python阵营RobotFramework和Java阵营的Cucumber是最通用且功能齐全的自动化测试框架,在业界也广受好评。其中RobotFramework符合多数自动化测试人员的技术栈(Python),因此在各种测试场景被广泛应用。今天就来介绍一下RobotFramework的强大之处。


模块化设计


引用RF官方的介绍,用RF搭建测试框架可以很好的做到模块化设计,如图1所示。



图1 RF MODULAR


System Under Test


被测系统,RF由于有丰富的第三方插件,被测系统形态万千,目前已被证明能被RF良好支持的被测系统包含web应用、手机应用、api接口、桌面应用、仪器仪表等


Test Libraries


测试库,后面的章节会重点介绍RF的测试工具及测试库,可直接集成到RF中作为KW使用,方便快捷


RobotFramework


RobotFramework在整个测试体系中完成用例解析、用例调度、用例执行、报告生成等工作。RF本质上是个调度执行器,不具备任何测试能力,RF的测试能力是靠集成各种插件来实现的,不管是什么样的被测系统,只要有插件支持,只要能封装KW,就能对其进行测试支持,这才是一个测试框架应有的设计。


Test Data


测试数据。分层设计,RF实现了测试用例和测试数据的分离。


良好的生态


前文讲过,RF之所以在各种测试场景都能有用武之地,取决于它有良好的生态。RF支持不同操作系统、远程管理、Telnet、字符串、进程、对话、日期等处理,还支持各种应用及其相关的测试工具(如大家熟知的Selenium、Appium、AutoIT、Watir等),包括web、移动App、数据库、通信协议等测试,支持面向UI和接口的测试。支持持续集成(CI),如Jenkins、Maven等的集成。图2展示了部分当前已被RF官方收录的三方库



图2 RF支持的三方库


关键字脚本丰富、灵活而强大


很多人都说关键字驱动限制了用例开发者自由发挥的空间,但是,这种驱动方式很大程度上节省了团队成员的培训成本。有语言基础的同学可以去开发关键字,语言基础薄弱的同学可以直接使用关键字实现各种业务场景。在学习和使用成本上,RF相对于其他测试框架有明显优势。RF用例示例,如图3



图3 RF用例示例


强大的数据驱动


作为一款功能齐全的测试框架,没错,RF不仅仅支持关键字驱动,同时支持数据驱动以及BDD行为驱动,基本常用的驱动方式RF都支持,这就为从其他框架转型到RF上来的同学提供了便利。



调试非常方便


RF对各种IDE都有不错的插件支持,常见的PythonIDE,如PythonCharm,eclipse(python插件版)都针对RF提供了插件,支持高亮语言及错误提示。


如有疑问,请留言告知,或者咨询柠檬班自动化测试培训平台:www.ceshiren.com官网客服哦

留言领取100G软件测试全面课程视频。


继续阅读