UI自动化在RobotFramework中采用的分层设计

RF测试数据

 RF测试数据由4种表数据组成。这些测试数据由表的第一个单元格标识,名称和用法如下:

表名

用法

别名

设置表

导入测试库,资源文件和变量文件。为测试套件和测试用例定义元数据

Setting settings metadata

变量表

定义可在测试用例中其他位置使用的变量

Variable variables

用例表

测试用例

Test Case

关键字表

从现有的低级别关键字创建用户关键字

Keyword  User Keyword

 

      其中,分层思想直接体现在关键字表和用例表。

      RF分层设计模式其实就是根据需求使用抽象与封装关键,把一个实现过程分成不同多层。把代码根据脚本特征拆封开来,提高代码的灵活性和清晰度,从而也让一些组件层内容可扩展、可复用、可维护。这种设计基于RF的关键字驱动。

  具体的做法就是:通过调用的关键字不同,从而引起测试结果的不同。“关键字”的底层其实还是程序定义的方法。我们可以把操作步骤封装一个一个的方法(关键字),通过调用关键字来实现测试用例。

      RF分层可大致分为 元素层、组件层、流程层,用例层四层。当然可以根据项目实际应用采取减少层次或者增加层次,核心设计思想就是覆盖测试流程的基础上增加代码的复用程度,减少重复代码量。

    以测试页面登陆为例子:

   元素层:

   将测试过程中用到的变量等的数据元素集中在这里。如果需要修改测试的基础数据,例如定位的元素等。这里采用定义变量和用户关键字均可。如果元素有变动,修改起来很方便。

 

 

  组件层:

   页面上的功能组件操作的封装。创建之前应先导入元素层的资源。除了个别流程的独有操作,这一层应该实现操作步骤的细化封装,例如登陆页面的操作有:打开网址、输入用户名、输入密码、点击登陆按钮等。每一个动作都可以拆分,形成独立的关键字。

 

 

流程层:

    组件层基础上的进一步封装。要求能覆盖掉所有的测试流程,同时兼顾用例中输入的灵活性。

 

 

用例层:

   测试用例执行。经过业务流程层的拼装,可以像写列表一样编写测试用例。

 

   封装的资源数据流转顺序如下:

 

posted @ 2021-06-15 17:53  CQUqinghua  阅读(382)  评论(0编辑  收藏  举报