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自带===邮件服务 |
Python自带===邮件服务 | |
os | Python自带===系统模块 |
PyCharm | Community 2020.2汉化版 |
操作系统 | Windows10旗舰版64位 |
其它 | 后续补充 |
3 框架设计
3.1 框架说明
3.2 框架执行流程
4 预期结果
4.1 测试过程log日志
4.2 测试报告html格式
4.3 测试报告邮件格式
1 声望
0 粉丝
推荐阅读
前端自动化测试之葵花宝典
首先聊一下概念,Web 前端自动化测试是一种通过编写代码来自动化执行 Web 应用程序的测试任务的方法,它通常使用 JavaScript 和测试框架 (如 Selenium、Appium 等) 来实现。
京东云开发者赞 2阅读 765
测试开发专题-目录
专题开篇1. 测试开发简介网络篇1. OSI七层协议2. 常用服务协议3. IP地址4. 网络路由5. 常用命令6. 问题定位系统篇1. 常用系统命令2. 安装KVM虚拟机3. 按需创建KVM测试虚拟机4. Docker容器安装5. 使用Docker测试常...
陈琦赞 1阅读 2.2k
月光宝盒(vivo流量录制回放平台)正式对外开源
月光宝盒是一个基于流量录制回放的自动化测试平台,通过录制回放取代编写脚本进行自动化回归,提升测试效率和覆盖率。因为其解决方案具有很强的通用性,所以我们把这它开源出来,希望能帮助到有需要的用户。
vivo互联网技术阅读 1.8k
cookie 时效无限延长方案
自动化测试有2种形式,接口自动化和UI自动化。而UI自动化经常会被登录节点堵塞,例如验证码、图形、滑块等,尽管有些方式可以识别图形和定位滑块位置,但成功率都不高,无法真正意义上实现自动化执行;而http接口...
京东云开发者赞 1阅读 466
开源好物推荐:全栈测试平台RunnerGo
做软件测试的同学在工作时应该都碰到过这种情况:接口管理、接口测试用postman、Apipost等接口管理工具,性能测试用jmeter、loadrunner等性能测试工具,接口自动化则是jmeter脚本或者python脚本配合jenkins使用。...
大雨治水阅读 875
最近较火的RunnerGo 与Jmeter优劣势分析
最近有一款较火的测试产品RunnerGo,它是一个基于go语言研发的开源测试平台。在这里我想从性能测试方面、结构方面以及功能方面对比两款产品。
大雨治水阅读 404
什么是软件测试领域的 Flaky test?
在软件测试领域,Flaky test 是指那些在多次执行中产生不一致结果的测试用例。具体来说,这些测试用例在某些情况下可以成功通过测试,而在其他情况下则会失败,即使是相同的测试环境和测试数据。
JerryWang_汪子熙阅读 393
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。