乐趣区

关于自动化测试:WindowsGUI自动化测试框架搭建之需求整理详细设计和框架设计

1 需要整顿

1.1 实现目标

  • 基于 CS 架构,模仿用户(鼠标、键盘)操作,达到疾速、反复执行测试用例;
  • 便于回归测试,疾速笼罩主线用例或性能;
  • 线上或线下巡检测试,联合继续集成,及时发现运行环境存在的问题;
  • 晋升集体自动化测试技术能力,为业务提供强有力的测试伎俩。

1.2 性能需要

  • 基于 Unittest,封装、调用和组织所有的测试用例,进行批量或指定用例运行;
  • 反对邮件服务,可增加任意团队成员邮箱,及时告诉团队成员自动化运行后果;
  • 反对 log 日志,保留运行过程所有或须要记录的数据;
  • 反对 HTML 测试报告,直观展现测试后果和数据;
  • 反对用例设计和测试后果拆散,便于数据管理;
  • 反对用户登录封装,后续所有的用例登录专用一个办法;
  • 反对任意批改 Beautifulreport,可定制测试报告模板;
  • 反对测试报告多语言(英文和中文);
  • 反对截图性能;
  • 反对 Jenkins 继续集成。

1.3 其余要求

  • 实用 Windows XP(SP3),Windows Vista, Windows 7, Windows 8、8.1、10 自动化测试;
  • 模块化设计,我的项目框架模式组织代码;
  • 公共办法封装,对立调用;
  • 数据和后果离开,清晰明了;
  • 反对邮件自定义;
  • 代码正文清晰。

1.4 实用人员

  • 有肯定测试根底的软件测试人员;
  • 有肯定的代码(Python/Java)功底;
  • 致力于学习 WindowsGUI 自动化测试的所有人员。

1.5 学习周期

  • 两个星期到一个月,可达到独立进行 WindowsGUI 自动化测试;

1.6 学习倡议

  • 倡议依照文章程序,一步一步进行学习和实际;
  • 文章是从根本的环境搭建到最终框架齐全搭建的一个过程,相对来说还是比拟具体的;
  • 文章偏差于我的项目实战,未有太多的实践介绍和名词解释,所以对 0 根底的人员来说,可能须要额定的工夫去补充一下常识。

2 具体设计

2.1 需要剖析

对 实现需求 进行详细分析,次要有下:

性能 阐明
应用 Unittest 框架 开源自动化测试框架,间接应用
批量或指定用例运行 Unittest 框架可反对此性能
log 日志 应用 Python 的 logging 库即可
生成 HTML 测试报告 应用 BeautifulReport 模块可实现此性能
用例设计和后果拆散 PO 模式
用户登录封装 间接把登录性能模块化,应用 Unittest 框架中的 setup,teardown 即可
定制测试报告模板 应用 BeautifulReport 模块
报告多语言 应用 BeautifulReport 模块
截图性能 应用 UIAutomation 的 CaptureToImage 办法

2.2 技术栈

技术 版本及阐明
Python V3.x(本文为 3.7)=== 编程语言撑持
UIAutomation 控件的辨认、定位及操作
BeautifulReport 生成 Html 测试报告
Logging Python 自带 === 生成 log 日志
Unittest Python 自带 === 自动化测试框架
Smtplib Python 自带 === 邮件服务
email Python 自带 === 邮件服务
os Python 自带 === 零碎模块
PyCharm Community 2020.2 汉化版
操作系统 Windows10 旗舰版 64 位
其它 后续补充

3 框架设计

3.1 框架阐明

3.2 框架执行流程

4 预期后果

4.1 测试过程 log 日志

4.2 测试报告 html 格局

4.3 测试报告邮件格局

退出移动版