基于sahi pro excelframework自动化测试框架设计
1.概述
1.1.开发背景
电子印章系统需要进行自动化测试功能,且需要一种易于开发、维护、使用的自动化测试工具。Sahi pro版本相比开源版本已经自带excelframework,既直接通过excel文件执行自动化测试用例。
1.2.建设目标
目标1:普通测试员通过编写excel测试模板,生成自动化测试用例,直接执行自动化测试用例,实现自动化测试。
目标2:测试开发员可以灵活的修改、扩展、完善自动化测试框架。
目标3:测试开发员可以所见即所得、高效、快速的编写完善自动化测试框架。
1.3.假定和约束
本版本设计开发必须遵循JavaScript和Sahi脚本的开发规范。
2.框架流程设计
2.1.测试框架
测试框架由四层架构组成:sahiproexcelframework,业务逻辑层,页面对象库,基础控件库。
Sahiproexcelframework:将测试步骤(关键字)和测试数据直接保存在excel里,实现数据与脚本分离。由于excelframework需要调用方法而不是对象,所以需要一个中间层做把业务逻辑层的对象转换成方法。
业务逻辑层:可以在这里编写可重用的方法,这些方法中执行模拟手工测试的功能。该层的方法可以被测试用例调用。
页面对象库:用来获取、存储页面对象。每个页面对象也许包含多个控件对象,该层对象可以被业务逻辑层调用。
基础控件库:封装基础的页面控件对象。对于操作复杂的页面控件再进行封装以方便使用,该层对象可以被页面对象库调用。
图1. 测试框架图
3.框架使用说明
3.1.Excel模板说明
Excel模板作为描述自动化测试用例、测试步骤、测试数据的载体,严格按照模板编写将会避免很多可能出现的错误。脚本在执行的时候默认读取Excel模板里的sheet1内的数据,按照从上到下的顺序逐行执行关键字对应的脚本。所以可以在excel里新建其他sheet,但是不要修改sheet1的名字或删除sheet1,否则会导致无法执行脚本。
Excel模板里的每一行代表一个测试步骤,多行可以组成一个测试用例。
现对sheet1内的数据列的含义和使用做如下说明:
Comments(描述):该列可以录入对该测试步骤的描述用来标记这一步骤,该列可以为空。
Tags(标签):该列可以用标签对测试用例进行标记,在执行脚本时可有选择性的执行用例。所以仅在测试用例第一个测试步骤上些标签。如