Robot Framework原理精讲

Robot Framework原理精讲

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

官网:http://robotframework.org

RF框架是基于python 的,所以一定要有python环境。robotframework 本质就是python的一个模块,安装它的命令是:

pip install robotframework

谈到RF就要介绍一下Robot framework-ride, 它是一个图形界面的用于创建、组织、运行测试的软件。Ride也是一个Python的模块,安装它的命令是:

pip install robotframework-ride

从RIDEv1.7.3.1开始支持python3(兼容Python2.7 和>=3.6)。Ride并不是RF的核心模块,但是使用Ride,因为它友好的UI设计,提高了用户的体验和用例的编写效率。下图1是RideUI页面,而图2是与图1对应的RF的脚本页面。

                                                                                              图1.Ride UI页面

                                                                                               图2.RF的脚本页面

用过RF的同学都深有体会,RF真是无所不能,可以做web自动化测试、移动端自动化测试、windows自动化测试,接口自动化测试,全面覆盖测试领域。在这里我就重点解析一下RF的无所不能。它之所以让大家感觉到无所不能,是因为在这个框架中我们可以方便的使用各种扩展类库。想使用Robotframework实现不同的功能,那么就要先安装与其功能对应的类库并导入使用类库。扩展库的安装方法与安装python模块一样,使用pip命令即可。例如安装selenium扩展库的命令如下:pip install robotframework-seleniumlibrary。

安装成功后,在[PYTHON目录]\Lib\site-packages\SeleniumLibrary目录下可以找到扩展库。然后我们就可以在RF中引入SeleniumLibrary进行web相关的自动化测试了,做web自动化测试并不是RF的api实现的,而是RF借用selenium的api实现的。同理,我们可以使用appiumlibrary做Android和iOS测试,其本质使用的是appium;使用HTTP library做http请求发送和解析测试,其本质使用requests模块。使用autoitlibrary做Windows的GUI测试,其本质使用AutoIt。总之RF就是一个基础框架,提供用例管理,用例运行以及生成测试报告等测试的基础功能,然后你想做哪方面的测试就需要安装对应的python模块,而我们的RF本身并不提供例如web测试、移动测试和接口测试的功能。

使用RF确实可以大幅度地提升自动化测试效率,但是对于测试小白来讲我真心不建议大家从RF开始上手自动化测试,因为这个框架的封装,使得大家在完全不需要编码的前提下,就能够完成基础的自动化测试工作,而目前编码是测试人员的刚需,自动化测试又是测试人员提升编码的最佳实践,所以大家上手自动化测试还是先从Selenium或者appium入门,待编码技能成熟后再使用RF也为时不晚。

你可能感兴趣的:(Robot Framework原理精讲)