WebUI自动化测试框架搭建(二)-详细设计&框架设计
(二)-详细设计&框架设计
1 需求分析
对 实现需求 进行详细分析,主要有下:
功能 | 说明 |
---|---|
使用Unittest框架 | 开源自动化测试框架,直接使用 |
批量或指定用例运行 | Unittest框架可支持此功能 |
log日志 | 使用Python的logging库即可 |
生成HTML测试报告 | 使用HtmlTestRunner.py模块可实现此功能 |
用例设计和结果分离 | 使用配置文件如excel、json等组织用例数据 |
支持Json、conf、excel等配置文件读取 | 这里先使用excel进行页面元素的驱动 |
用户登录封装 | 直接把登录功能模块化,使用Unittest框架中的setup,teardown即可 |
定制测试报告模板 | 使用HTMLTestRuner.py模块 |
报告多语言 | 使用HTMLTestRuner.py模块 |
截图功能 | 使用Selenium的save_screenshot方法 |
2 技术栈
技术 | 版本及说明 |
---|---|
Python | V3.x(本文为3.7)===编程语言支撑 |
Selenium | V3.141.0 ===UI元素、控件的识别、定位,以及浏览器控制等 |
HtmlTestRunner | Python3版本===生成Html测试报告 |
Logging | Python自带===生成log日志 |
Xlrd | V1.2.0===excel读取方法 |
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 测试报告邮件格式
5 特别说明
注意!注意!注意!重要的事情说三遍!
=======================================================
本系列文章使用的测试对象是一个开源的商城软件,由于不太稳定,可能会出现打不开的情况。问题不大。该系列文章只是教如何搭建自动化框架,而不是教如何测试。所以大家可把每个文章最后的代码复制出来,然后修改登录模块、页面元素模块、测试用例模块,然后用于自己的实际项目即可。建议一定要阅读该系列文章的前两个文章,确认是否是自己需要的框架,再进行订阅,否则后果自负!
=======================================================