1.Robot Framework是一个通用的开源自动化框架。
1)Robot Framework本身是在Apache License 2.0下发布的开源软件,生态系统中的大多数库和工具也是开源的。
2)该框架最初由诺基亚网络开发,并于2008年开放源代码。
3)它可以用于测试自动化和机器人过程自动化(RPA)。机器人框架得到了积极的支持,许多行业领先的公司在他们的软件开发中使用它。
4)拓展性很强,可以引入很多开发包。如导入AppiumLibrary开发包,则可以对移动端进行自动化测试;导入SeleniumLibrary开发包,则可以对PC Web进行自动化测试;导入Autoit,则可以对PC Desktop进行自动化测试;当然也可以进行接口自动化测试。
5)关键字驱动。关键字驱动的好处是灵活性强,维护成本低。
2.Robot Framework模型:
3.Robot Framework开发框架/资源分类
以一个项目为例,可定义多个文件夹(directory)进行资源的分类:
1)Testcases:
测试用例。有Library,Setting,TestCase等(通过引入“PageKeyword”中的关键字等,对业务用例进行拼接)。
2)ConfigFiles:
配置文件,相关的配置信息如driver路径,手机参数定义等
3)Locators:
元素的定位。Web端的元素定位如Xpath的信息,手机端的控件定位信息等
4)Files:
需要文件相关操作的场景
5)PageKeyword:
页面的关键字。每个页面为单独一个文件夹,里面只定义该页面的关键字。例如:Login登录界面,只定义Login界面的关键字。注册界面,只定义Login界面的关键字。
6)Busikeywords:
和业务相关的操作可以放入此文件夹下。
7)CustomLib:
当有些AppiumLibrary或SeleniumLibrary等开发包解决不了问题时,我们需要自定义一些python文件/函数功能,再引入到RF中。比如用到了谷歌服务pyotp 包,需要获取一次性码One Time Passowrd(OTP),需要自己用python编写脚本,来完成我们其中一个业务场景。
8)External Resources:
引入其他外部资源等。