Robot Framework框架准备

Robot Framework是一款用Python编写的通用型测试框架,具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端(Web、PC、移动端)或者接口,也可以进行分布式测试执行。常用于验收测试和验收测试驱动开发(ATDD)的自动化测试。虽然框架本身是基于Python编写的,但也可以在Jython(java)和IronPython(.NET)上运行,提供跨平台支持。

Robot Framework框架是一个通用的经验和技术的独立框架。它有一个高度模块化的框架。

 

优势和亮点

Robot Framework框架具备非常多的优势和亮点,包括但不限于:

1.易于使用,采用表格式语法,统一测试用例格式。

2.重用性好,可以利用现有关键字组合新关键字。

3.支持多种变量类型(如List、Dictionary等)。

4.支持创建基于数据驱动的测试用例。

5.结果报告和日志采用HTML格式,易于阅读,且自动生成。

6.提供标签以分类和选择将被执行的测试用例。

7.支持跨平台运行,入Windows、linux、MacOS。

8.功能全面,支持Web测试、Windows GUI测试、移动端测试、数据库测试等。

9.易于扩展,提供了简单API,用户可以自定义基于Python或者java的测试库。

10.易于集成,提供了命令行接口和基于XML的输出文件,支持持续集成(CI),如Jenkins、Maven等的集成。

11.易于与版本管理器集成。

12.可通过Pabot或Selenium Grid执行并行测试。

13.良好的生态系统,支持不同操作系统、远程管理、Telnet、字符串、进程、对话、日期等,还支持各种应用及相关的测试工具(如大家所熟知的Selenium、Appium、AutoIt、Watir等),包括Web、移动App、数据库、通信协议等测试,支持面向UI和接口的测试。

14.关键字脚本丰富、可以灵活地自定义新的关键字,并支持循环、条件语句。

15.强大的数据驱动,支持外部数据文件、变量文件、资源文件。
 

不足

虽然Robot Framework框架提供了给出多优秀的特性,但不论哪一款测试框架都无法做到百分百完美,至少无法或者一定程度上不能满足所有人的需求。robot framework也存在一些 不足,例如

1.自定义HTML报告较为麻烦。

2.框架有自身的一套语法,虽然和Python略同,但对于新手而言,还是有一定学习成本的。

3.不支持即时断点、逐行测试跟踪功能,调试时,无法向IDEA这类工具一样方便。

Robot Framework 生态系统

Robot Framework框架具有非常丰富的生态系统,它不仅具有易于使用的表格测试数据规则,可精细地控制关键字,支持行为驱动,提供远程测试执行接口进行分布式测试。这些功能由这种通用测试库、特定测试插件和工具组成。

Robot Framework框架除了自身提供了非常多的基础库功能,也支持第三方扩展库,同时提供了非常多的内建工具、扩展接口,方便框架与其他系统进行对接。这些一起构建了一套全面且易扩展的Robot Framework框架生态系统。

1.基本库

1.Builtin:提供内置常用的关键字

2.Dialogs:提供暂停测试执行以获得用户输入的方法。
3.Collections:提供用于处理Python列表、字典的关键字。

4.OperatingSystem:在Robot Framework系统中执行各种与筹资系统相关的任务。

5.Remote:作为Robot Framework与其他测试库直接的代理,实际运行的测试库可以在不同机器上。
6.ScreenShot:提供用于捕捉桌面屏幕截图的基本库。

7.String:用于生成、修改、验证字符串的库。

8.Telnet:可以连接到Telnet服务器,并在打开的连接上执行命令。

9.XML:用于生成、修改和验证XML文件的库。

10.Process:用于在系统中运行过程的库。

11.DataTime:用于日期和时间转换的库。

扩展库

>AndroidLibrary:用于Android自动化测试的库,它nebula使用的是Calabash Android。

>AnywhereLibrary:用于测试单页应用程序(SPA)的库,它内部使用是Selenium Webdriver和Appium。

>AppiumLibrary:用于安卓和ios测试的库,它内部使用的是Appium。

>ArchiveLibrary:用于处理zip和tar归档的库。
>AutoItLibrary:用于Windows GUI的测试库,它内部使用AutoIt作为驱动程序。

>DatabaseLibrary:用于数据库测试的库,分为java和Python两类库,一般默认是基于Python的库。

>DiffLibrary:用于两个文件差异比较的库。

>DjangoLibrary:Python Web框架Django的库。

>Fakerlibrary:虚拟测试数据生成器Faker的库。

>FTPLibrary:用于RobotFramework测试和FTP服务器的库。

>HttpLibrary.HTTP:用于使用请求进行HTTP级别测试的库。

>iOSlibrary:用于iOS自动化测试的库,它内部使用的是Calabash iOS。

>ImageHorizonLibrary:GUI自动化测试的、基于图像识别的、跨平台的纯Python库。

>MongoDBLibrary:使用PyMongo与MongoDB进行交互的库。

>MQTTLibrary:使用测试MQTT代理和应用程序的库。

>Rammbock:通用网络协议测试库,提供简单的方式来指定网络数据包,并检查发送和接收数据包的结果。

>SikuliLibrary:提供关键字以通过Sikulix测试用户界面,该库支持Python2.x和3.x。

>Selenium2Library:使用Selenium2的Web测试库,用于Web UI自动化测试。

>SSHLibrary:通过SSH连接启用在远程计算机上执行的命令,还支持使用SFTP传输文件。

>SwingLibrary:使用Swing GUI测试java应用程序的库。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值