javascript
需要技能竞赛软件测试资料的同学们可s聊我,详细了解
一、接口测试
(一)概述
按照软件接口测试文档要求,执行接口测试;使用接口测试工具PostMan,编写脚本、配置参数、执行接口,对设计过程及测试结果进行界面截图并粘贴到接口测试报告中。
(二)题目要求
接口脚本编写和执行测试,并执行脚本。
(1)接口一描述如下
Ø 接口功能: 会员注册
Ø 接口地址: http://hn216.api.yesapi.cn/
Ø 请求方式: GET
Ø 请求参数:
|----------|-------|--------|--------------------------------------------------------------------------------|---------------|
| 参数 | 必填 | 类型 | 值 | 说明 |
| s | True | String | App.User.Register(不可更改) | 无 |
| app_key | True | String | 6F315A20FC6C4B420D6946BBB21EE993(不可更改) | 开发者应用的app_key |
| sign | True | String | C9607B9D8F74F2A66EE9DDBE4C128F52(不可更改) | 接口签名 |
| username | True | String | 自定义用户名(1-50个字符) | 用户名 |
| password | True | String | 自定义(32个字符) | 密码 |
| ext_info | False | Json | {"yesapi_nickname": "214","yesapi_email": "112@qq.com","yesapi_sex": "Female"} | 设置用户信息 |
Ø 响应结果:
javascript
{
"ret": 200,
"data": {
"err_code": 0,
"err_msg": "",
"uuid": "02513231ED958FD55275FCFFEDFCAFE5"
},
"msg": "",
"_t": 1676643765,
"_auth": "c8396c4004b7f8e46bd25534e0d7e3bf"
}
(2)接口二描述如下
Ø 接口功能: 会员登录
Ø 接口地址: http://hn216.api.yesapi.cn/
Ø 请求方式: GET
Ø 请求参数:
|----------|------|--------|----------------------------------------|---------------|
| 参数 | 必填 | 类型 | 值 | 说明 |
| s | True | String | App.User.Login(不可更改) | 无 |
| app_key | True | String | 6F315A20FC6C4B420D6946BBB21EE993(不可更改) | 开发者应用的app_key |
| sign | True | String | 68F8482102691628B50F2D771939805B(不可更改) | 接口签名 |
| username | True | String | 同注册时使用的账号 | 用户名 |
| password | True | String | 同注册时使用的密码 | 密码 |
Ø 响应结果:
javascript
{
"ret": 200,
"data": {
"err_code": 0,
"err_msg": "",
"uuid": "C387C605308AC9676655A2FE34C9EB55",
"token": "D670B074FF478D012CF6C501185086610914491EFEA041D4A09 8F3EA41D34FC8",
"role": "user"
},
"msg": "",
"_t": 1676644167,
"_auth": "4a169bf9d12bf95bb828d31697dfcd1f"
}
(3)接口三描述如下
Ø 接口功能: 会员信息查看
Ø 接口地址: http://hn216.api.yesapi.cn/
Ø 请求方式: GET
Ø 请求参数:
|---------|------|--------|----------------------------------------|---------------|
| 参数 | 必填 | 类型 | 值 | 说明 |
| s | True | String | App.User.Profile(不可更改) | 无 |
| app_key | True | String | 6F315A20FC6C4B420D6946BBB21EE993(不可更改) | 开发者应用的app_key |
| sign | True | String | B4AD9E7A9CFE4CC3125E843FA499C6B7(不可更改) | 接口签名 |
| uuid | True | String | 通过Pre-request Script获得 | 全局唯一用户ID |
| token | True | String | 通过Pre-request Script获得 | 会话凭证 |
Ø 响应结果:
javascript
{
"ret": 200,
"data": {
"err_code": 0,
"err_msg": "",
"info": {
"uuid": "2714C680C952D34B65B1E06A81753622",
"username": "test",
"role": "user",
"rolename": "普通会员",
"register_time": "2023-02-16 21:03:14",
"register_ip": "117.61.113.157",
"ext_info": {
"yesapi_avatar": "",
"yesapi_avatar_https": "",
"yesapi_nickname": "test03",
"yesapi_email": "1022381162@qq.com",
"yesapi_sex": "male",
"yesapi_real_name": "",
"yesapi_points": 0,
"yesapi_reg_source": "",
"yesapi_reg_note": "",
"yesapi_mobile": "",
"yesapi_expiration_time": ""
},
"status": 0
}
},
"msg": "",
"_t": 1676683011,
"_auth": "cd9dd63e6d7f71001dd0ba0c24496bc3"
}
(4)接口四描述如下
Ø 接口功能: 会员信息修改
Ø 接口地址: http://hn216.api.yesapi.cn/
Ø 请求方式: POST
Ø 请求参数:
|----------|-------|--------------|----------------------------------------------|---------------|
| 参数 | 必填 | 类型 | 值 | 说明 |
| s | True | String | App.User.UpdateExtInfo(不可更改) | 无 |
| app_key | True | String | 6F315A20FC6C4B420D6946BBB21EE993(不可更改) | 开发者应用的app_key |
| sign | True | String | 4092C106461798BEB813871577081F77(不可更改) | 接口签名 |
| uuid | True | String | 通过chesk的Pre-request Script获得的UUID并设为全局变量在此应用 | 全局唯一用户ID |
| token | True | String | 通过chesk的Pre-request Script获得的UUID并设为全局变量在此应用 | 会话凭证 |
| ext_info | False | String(Json) | 通过CSV文件获得 | 用户信息 |
Ø 响应结果:
javascript
{
"ret": 200,
"data": {
"err_code": 0,
"err_msg": "",
"ext_info": {
"yesapi_nickname": "test01",
"yesapi_email": "103@qq.com",
"yesapi_sex": "male"
}
},
"msg": "",
"_t": 1676683715,
"_auth": "7a08e58d6e6533e4363e57037a7861f5"
}
接口测试要求说明:
- 在 Postman 中新建 Collections 集,测试集命名为 API_Test;
- 在Postman中新建environments集合,命名为params;
- 在params中设置本地环境变量,将s的App.User.部分设为本地环境变量s,将app_key的6F315A20FC6C4B420D6946BBB21EE993设为本地环境变量app_key,将Login中自定义的username,password设为本地环境变量,在发送Login请求时使用
- 在测试集 API_Test 下新建 register脚本,使用s、app_key环境变量发送会员注册接口请求;
- 在测试集API_Test下新建login脚本,使用s、app_key、username、password环境变量,并设置一个断言,判断响应状态码为200,发送会员登录接口请求;
- 在测试集API_Test下新建check脚本,使用s、app_key本地环境变量,并使用Pre-request Scrip编写脚本请求Login接口,获取到返回值中的uuid,token,并设为全局变量,然后在Params参数列表中接收uuid,token,发送会员信息查看接口请求;
- 在测试集API_Test下新建change脚本,在Body中设置请求参数(x-www-form-urlencoded格式),使用s、app_key本地环境变量,使用uuid、token全局变量,然后参数化ext_info;
- 使用csv文件保存接口数据驱动测试数据,csv参数名为ext_info;用户名信息 数 据 为: {"yesapi_nickname": "test001"}、{"yesapi_nickname": "test002"}、{"yesapi_nickname": "test003"};
- 在change脚本中设置一个断言,判断返回值err_code为0;
- 选择测试用例集API_Test,执行 Run,在测试集合运行页面设置执行要求,运行脚本login、check、change,运行次数要求 3 次,请求间隔时间为 1000ms,发送请求的 data 文件导入前面的新建 csv 数据文件;
- 设置完成执行测试用例集。
截图要求:一共 13 张图,分别为:
- 本地环境变量集合params界面截图
- register脚本包含 Collections 的名称和设置本地环境变量后的 URL 和 Params 相关内容截图
- login脚本包含 Collections 的名称和设置本地环境变量后的 URL 和 Params 相关内容截图
- login脚本用例Tests界面
- check脚本包含 Collections 的名称和设置本地环境变量后的 URL 和 Params 相关内容截图
- check脚本 Pre-request Script 界面截图
- change脚本包含 Collections 的名称和设置本地环境变量后的Body相关内容截图
- change脚本用例Tests界面
- 测试用例集导入CSV数据后预览数据的截图
- 分别截图三条change脚本的测试报告中 Request Body 内容,需要包括ext_info部分。