目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
接口自动化测试开展
工具选择:
Python/Java + Requests + Unittest/Pytest + HTMLTestRunner/Allure
RobotFramework:关键词驱动的自动测试框架
基于 Web 的自动化测试平台(公司自主研发,成本较高,方便不懂编程也能使用)
自动化测试工具有很多,每种工具都有各自的优缺点,选择适合自身实际情况的框架,落地实施才是重点。
这里使用 Python + Requests + Pytest + Allure
接口自动化测试实战
接口信息:
名称:全国高校信息查询接口
描述:用于查询全国高校信息
Host:www.iamwawa.cn
Request URL:/home/daxue/ajax
Request Method:POST
Content-Type:application/x-www-form-urlencoded
headers:user-agent:Chrome
参数:
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
type | String | 是 | name,根据名称查询 |
keyword | String | 是 | 高校名称,如:中南大学 |
请求示例:
POST /home/daxue/ajax HTTP/1.1
Host: www.iamwawa.cn
user-agent: Chrome
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=sjsrn0drje6ds5fq9kouoo2r23
Content-Length: 54
type=name&keyword=中南大学
响应示例:
{
"status": 1,
"info": "查询成功!",
"data": [
{
"id": "1735",
"name": "中南大学",
"code": "4143010533",
"department": "教育部",
"city": "长沙市",
"level": "本科",
"remark": ""
}
]
}
线性脚本
import requests
res = requests.post(url="https://www.iamwawa.cn/home/daxue/ajax",
headers={"user-agent": "Chrome"},
data={"type": "name", "keyword": "中南大学"})
assert res.status_code == 200
res_json = res.json()
print(res_json)
assert res_json["status"] == 1
使用以上代码,最基础最简单的接口测试就做起来了,好的开始就是成功的一半。
但是,问题也随之而来,线性脚本的缺点也暴露出来了:
测试的输入和断言都是捆绑在脚本中,易读性差;
无共享或重用脚本,可复用性低;
线性脚本修改代价大,维护成本高,不便于后期优化;
容易受软件变化的影响,容易受意外事件的影响,引起整个测试失败;
所以,下一步就是如何优化线性脚本,也就是如何实现代码的高内聚低耦合,也是接口自动化测试框架要解决的问题。
接口自动化测试框架
常用框架:Python+requests+pytest+yaml+alluer+Jenkins;
base_api.py:对 Requests 库进行二次封装,完成对 api 的驱动
api:继承 base_api,将 http 请求接口封装成 Python 方法
utils:CommonUtil,公共模块,将一些公共函数、方法以及通用操作进行封装,如:日志模块、yaml 操作模块、时间模块
config:配置文件模块,配置信息存放,如:URL、Port、Headers、Token、数据库信息等
data:测试数据模块,用于测试数据的管理,数据与脚本分离,降低维护成本,提高可移植性,如:yml 文件数据
cases:测试用例模块,用于测试用例的管理,这里会用到单元测试框架,如:Pytest、Unittest
run.py:批量执行测试用例的主程序,根据不同需求不同场景进行组装,遵循框架的灵活性和扩展性
logs:日志模块,用于记录和管理日志,针对不同情况,设置不同的日志级别,方便定位问题
reports:测试报告模块,用于测试报告的生成和管理,如:基于 Allure 生成的定制化报告
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
只有拼尽全力,才能迎接成功的喜悦;只有不断努力,才能迈向辉煌的未来;只有坚持奋斗,才能实现人生的价值。相信自己,勇往直前,你定能创造出属于自己的辉煌!
只有不断超越自己的极限,才能看到无限的可能;只有坚持拼搏的脚步,才能走向辉煌的未来。相信自己,勇往直前,奋斗不息,必将收获辉煌的人生。
只有拼尽全力,才能看到无限可能;只有勇往直前,才能实现梦想;只有坚持不懈,才能成就辉煌。奋斗吧,你的努力终将开启属于自己的辉煌篇章!