【Robot Framework实践】_分层结构
2017-07-20 本文已影响115人
大婶N72
分层的思想上,在程序设计的讲究设计模式,设计模式其实就是根据需求使用抽象与封装,其实就是分层思想。把一个实现过程分成不同多层。提高的灵活性,从而达到可扩展性和可维护性。
关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同
Selenium2Library是RF自带的关键字库,我们开始使用Open Browser就是其中之一,同理我们是可以自定义关键字的,然后作为source的一种供工具调用
图1 Selenium2Library库一、自定义关键字
1.创建资源
右键“测试项目”选择“new resource”创建资源
图2 创建资源2.资源下创建关键字及其支持的参数(可以理解为一个函数,包含的参数)
右键“业务关键字.txt”选择“new User Keyword” 来创建用户关键字
图3.编辑关键字3.编辑关键字的操作(百度搜索的参数化)
图4 关键字增加操作及其参数话4.测试套件下添加新建的资源
图5 添加资源5.新建测试脚本,调用关键字
图6 测试脚本调用关键字6.运行测试脚本
图7 运行测试脚本二、再次理解关键字驱动
如果做过selenium关键字封装的,这个地方就比较好理解了,
1.自定义关键字“百度测试”,可以理解为定义个方法“百度测试”,该方法的参数有两个(search,result),功能是搜索关键字和判断结果正确性;
2.测试套件中添加资源“业务关键字.txt”,可以理解为导入上面测试方法的包,测试套件下的用例都可以直接使用这个包里面的方法。
图8 关键字调用三、关键字驱动的延伸
1.就像方法之间的调用一样,关键字还可以继续调用其他关键字,依次类推可以继续分层,目的是使用用例和处理逻辑分离;
2.日志、报告应该也是可以封装,从这个层面说robotframework就是在seleniumapi的上层封装了一个可视化的客户端,理解了这一点就很好理解起操作步骤了。
3.更进一步可以自己编写关键字供客户端调用,前提是你得会Python。