MasterYI UI Test Framework-易大师UI自动化测试框架

  baikapala

MasterYI UI Test Framework

易大师UI自动化测试框架

当前版本:0.4.0beta

码云地址:https://gitee.com/xuwangcheng/MasterYI-UI-Test-Framework
更新日志: 易大师UI自动化测试框架-更新日志
框架详细使用说明请参考:https://gitee.com/xuwangcheng/MasterYI-UI-Test-Framework/wikis/pages

项目介绍

22              4444
QQ群号:468324085 加群验证:易大师                    公众号:测试无极之道


基于PageMode模型进行测试代码编程的UI自动化测试框架,元素定位、业务逻辑、测试数据分离;底层由selenium-java框架支持,使用yaml文件定义元素定位和用例执行规则。

主要功能:
- yaml文件定义元素信息,方便阅读、编写和维护
- 基于PageModel模型编写测试业务代码,代码复用性高、易理解,灵活;
- 使用数据工厂生产测试数据,分离业务代码和测试数据
- 默认实现了多款不同的测试报告处理器,用户可实现自定义的报告处理器
- 使用yaml定义测试集(测试套件)信息,可组合使用不同测试用例方法,可指定测试报告处理器(可带参数)等;
- 邮件推送测试结果和测试报告附件
- 分布式执行
- 内置定时执行器
- 集成spring boot,可对接任何自动化管理系统或平台,对外提供用例查询、测试执行、报表数据查询等接口
- 同一个测试用例可以在同一次测试中配置不同类型的浏览器进行测试;
- 持久化测试报告数据到sqlite数据库,可通过页面查询历史记录并下载测试报告文件
- 封装了验证码识别,文件上传,嵌套frame切换等复杂操作;
- java语言编写,熟悉java编程的可快速上手。

在开发过程中参考了以下优秀的自动化测试框架的某些思路或思想,在此感谢:
- Sweetest-小而美的自动化测试框架
- Bee-有赞测试团队开发的自动化测试框架

框架使用或者借鉴了以下开源工具:
- 功能强大的java工具包Hutool
- 自动化测试报告ZTest

环境要求

系统: windows
jdk >= 1.7
浏览器: chrome >=68
ide: Eclipse

你需要了解以下知识:
- java编程基础
- 自动化测试框架selenium
- yaml

快速开始

通过以下简单的百度搜索示例来了解该框架如何使用:
1. Clone框架代码到本地

  1. 导入到eclipse中为Maven项目

  2. 在项目根目录下的config/element目录下新建baidu.yaml,在此文件中定义相关页面元素的定位规则:

baidu.yaml

  1. 在com.dcits.test包下新建包baidu.data、baidu.page、baidu.usecase,分别表示测试数据、测试页面、测试用例

1

  1. 在page包下新建两个PageModel类,类名需要同baidu.yaml中定义的页面名称相同,同时需要继承BasePage类,如下:

2

  1. 分别在两个PageModel类中定义相关的PageElement对象,对象名称也需要同baidu.yaml定义的元素名称相同:

3
4

  1. 在PageModel类中定义相关业务方法,如上图

  2. 在usecase包下新建Baidu的测试类,新建baidu搜索的测试方法,同时在方法上加上UseCase注解

5

  1. 如图所示,右键Run运行Baidu测试用例

6

  1. 下图为测试日志,在根目录下的report目录下会生成一个html报告

7
8

以前,我总以为自己是菜鸟,也总想着早起的鸟儿有虫吃。直到有一天我想飞,才愕然的发现自己没有翅膀和羽毛,我竟然是菜虫!早起的虫儿被鸟吃……原来,百足应该厚积薄发!