自动化测试框架搭建
作者:网络转载 发布时间:[ 2015/5/14 11:07:53 ] 推荐标签:软件测试
自动化测试框架结构说明
目前实现的自动化测试框架大致可以分为以下四块内容:
·页面自动化测试
·API/WebService 自动化测试
·工具类/support类
·测试用例管理
页面自动化测试
页面自动化测试目前设计的目主要包括了如下几点:
·全部使用Page Object模式,进行测试数据和测试页面,测试流程分离
·定制WebElement,可以控制元素的特殊处理,或者统一记录日志等
·修改原生Selenium默认的Page Factory模式,转化为可以处理定制元素
·Driver Factory 根据配置生成driver
·页面元素和测试的数据根据名字进行绑定
·测试检查点可以注入到测试流程中
·可以组装的测试步骤
·可以通过注解定义页面测试步骤
页面自动化测试详细说明
修改后的Page Factory模式,流程图:
可以组装的测试步骤
可以组装的测试步骤的设计主要考虑以下几种组装方式:
·多个页面测试的组装
·过个业务流程测试的组装
·API和页面测试的组装
·检查点可注入到组装了的流程中
·实现不同子系统直接的调用
为了实现这个,主要定义了TestAction接口和TestActionsBuilder类,目的如下:
·所有的测试操作都实现TestAction接口的execute方法
·TestActionsBuilder 用来组装不同的TestAction,实现不同业务流程组装
页面元素和测试的数据根据名字进行绑定
目前的一个实现是每一个页面完成之后,都有一个相应的数据模型和页面绑定,每一个数据元素和每一个可输入的页面元素相绑定,作为测试的输入; 同时简单实现了页面数据输入时不需要指定设置样的数据,由框架来根据输入数据来决定进行什么样的操作。 之后可以做一些优化,比如根据页面模型,已经一些固定数据,来自动化分生成测试数据。
注解驱动的页面流程组装
使用注解的方式在单个页面上构建测试流程,以达到一定程度的减少代码量,目前主要通过如下的注解:
·UIActions
·UIAction
来驱动注解的测试
页面自动化实例-Login
新的页面测试方式引入一个概念是TestAction,这个怎么理解呢?可以认为是如下几个事物:
1、单个的一个测试动作,如点击某个按钮,访问某个连接
2、一连串的测试动作,可以在页面上点击一连串的按钮,填写很多表单
3、可以是操作读个页面,在每个页面上填写很多内容,点击很多按钮......
4、可以是一个API请求,也可以是多个API请求
5、可以是过个TestAction的组合
关于TestAction,在实际的时候过程中,只要实现TestAction接口可以了,以下是TestAction接口目前的定义:
/**
* 执行测试步骤的函数,可以是一个页面的多个步骤,可以是多个页面的步骤
*/ void execute(); /**
* test action 的名字,默认是TestAction class的名字
* @return */ default String getTestActionName(){ return this.getClass().getSimpleName();
}
相关推荐

更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11