robotframwork业务流程和数据分层实现
作者:互联网
1、关键字驱动:
robotframwork自动化测试主要使用关键字驱动实现编写业务流程,即通过调用的关键字不同,从而引起测试结果的不同。我们可以把操作步骤封装一个一个的方法(关键字),通过调用关键字来实现测试用例。
如“open browser” 就是一个关键字,从底层去看它就是一个通过编程去现实的一个方法。
2、分层思想:
在程序设计讲究设计模式,设计模式其实就是根据需求使用抽象与封装,其实就是分层思想。把一个实现过程分成不同多层,提高的灵活性,从而达到可扩展性和可维护性。
未引入分层思想之前,百度搜索3种不同内容需要写3条用例,其实对于每一条测试用例来说,只是搜索的内容不同,脚本步骤是完全一样的。这样做无疑增加的脚本的冗余,而且不便于维护。假如,百度输入框的定位方式变了,我不得不打开每一条用例进行修改。我们可以过创建关键字的方式,从而实现分层的思想来解决这个问题。
3、分层实例:
以下使用百度搜索场景进行分层思想实例展示,具体分为业务关键字封装、业务操作流程封装、测试数据文件读取和测试用例编写4个部分。
1)创建资源:
右键“测试项目”选择“new resource”创建资源。
输入资源名称:
2)创建业务关键字:
右键“业务关键字”选择“new User Keyword” 来创建用户关键字。
输入关键字的名称:
可以针对具体的业务场景进行关键字封装,本次将打开浏览器、最大化浏览器、百度关键字查询、页面等待和关闭浏览器进行封装如下:
3)数据和业务操作分离:
如下图中业务操作流程用例中会包含元素定位参数和输入参数,这部分内容可以维护在excel中,然后业务流程中进行读取,后续如果页面变更导致定位方式发生改变,则只需修改excel文件,无需变更代码。
创建一个test.xls文件进行定位元素和输入参数保存,结构如下:
此时业务关键字可以将定位方式修改为读取test.xls文件中具体的定位元素,输入参数可以读取excel,也可通过测试用例中传参实现。robotframework通过excellibrary读取excel,具体使用
可参考:https://www.cnblogs.com/kaka00311/p/16099758.html
4)创建业务操作流程:
创建业务操作流程是通过前面介绍的部署1)和2)中新建资源kakaflow、新建关键字百度搜索,通过导入业务关键字.txt来引用业务关键字内容
百度搜索关键字将业务关键字的各流程汇总,关键字查询中可以通过在Arguments中添加变量${keyword}来灵活传参,如果流程中有多个变量值,多个变量使用“|”隔开。
5、创建测试用例:
创建资源kakasuit,选择“New Test Case” 来创建测试用例。
测试用例基于业务流程关键字+不同搜索内容组成,需导入kakaflow.txt的Resource包。
搜索不同的内容可以通过传入不同传参来实现。
到此,RobotFramework +selenium 自动化测试粗犷的讲完了,我们可以拿它来开展自动化工作了。
标签:封装,创建,业务流程,业务,robotframwork,关键字,分层,测试用例 来源: https://www.cnblogs.com/kaka00311/p/16100117.html