自动化测试尝试
2022年1月21日
自动化测试尝试
实践环境
知识来源以及情况
- python使用不太熟练, 代码规范极差
- 通过自动化培训视频、github等了解过自动化测试框架
- 自动化实践经验为0
时间
2020-07 至 2021-12
断断续续的利用上班空余时间开发
是否获得上级支持
上级非常支持且测试压力较小, 对测试的任何意见都很支持并提供协助
资源情况
测试人员数量: 1(我自己)
项目情况: 一个前后端不分离的项目业务较简单
可开发时间: 上班时间(开发时间充裕)
实践情况
主要在网上搜资料, 借鉴其他人的框架结构, 勉强完成了1.0版本的测试框架搭建, 找到了一些缺陷也暴露出了初版的很多不足与难用的地方
测试框架技术选型
在经过之前的学习和搭建初期的demo试水, 成功的在公司进行了这个尝试
框架使用内容:
python + requests + pytest + allure
项目地址
https://github.com/Stone2333/auto_test_v1
自动化测试框架结构
│ .gitignore # 忽略文件配置
│ data_preparation.py # 代码准备
│ push.sh # git脚本
│ README.md # 描述文件
│ requirements.txt # 依赖库一键安装文件
│ run.py # 执行自动化测试主程序
│
├─business - 业务代码
│ public.py # 公共业务代码
│ __init__.py
│
├─casesdata - 用例
│ login.yaml # 登录用例
│ __init__.py
│
├─common - 公共方法
│ aes.py # aes加密
│ baidu_image_identify.py # 百度图片识别
│ captcha_identify.py # 验证码识别
│ DB.py # 数据库
│ delete.py # 删除sql
│ faker_data.py # 假数据
│ log.py # 日志模块
│ query.py # 查询sql
│ sm4.py # sm4加密
│ tool.py # 通用工具
│ update.py # 更新sql
│ __init__.py
│
├─config - 设置
│ setting.py # 公共参数配置
│ __init__.py
│
├─logs - 日志存储
│ __init__.py
│
├─testcases - 测试代码
│ conftest.py # 测试代码通用条件
│ login.py # 登录测试代码
│ __init__.py
│
└─testreport - 测试报告数据存储
__init__.py
1.0版本总结
实现了从0到1的跨越, 总体架构与网上的基本一致, 唯一的区别就是将业务代码与测试用例的代码剥离开了, 让用例代码边的更为简洁且使用方便。这个版本只考虑到了当时的项目需求, 方便了当时的测试需要, 但是在现在看来里面的很多东西都已经变的非常的简陋, 很多的用法可能都不是最优用法, 但是我认为他我是走向自动化的第一步, 这次的实践让我受益匪浅,也为我后面的学习和优化奠定了目标。 自动化好像离自己很近, 好像也离自己很远, 在当时这就是我眼里的自动化, 任何的进步都有代价, 只有脱离舒适区才能更近一步, 要敢于尝试敢于犯错才能更近一步。
实践是检验真理的唯一标准