【接口测试】测试试题

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"
}

接口测试要求说明:

  1. 在 Postman 中新建 Collections 集,测试集命名为 API_Test;
  2. 在Postman中新建environments集合,命名为params;
  3. 在params中设置本地环境变量,将s的App.User.部分设为本地环境变量s,将app_key的6F315A20FC6C4B420D6946BBB21EE993设为本地环境变量app_key,将Login中自定义的username,password设为本地环境变量,在发送Login请求时使用
  4. 在测试集 API_Test 下新建 register脚本,使用s、app_key环境变量发送会员注册接口请求;
  5. 在测试集API_Test下新建login脚本,使用s、app_key、username、password环境变量,并设置一个断言,判断响应状态码为200,发送会员登录接口请求;
  6. 在测试集API_Test下新建check脚本,使用s、app_key本地环境变量,并使用Pre-request Scrip编写脚本请求Login接口,获取到返回值中的uuid,token,并设为全局变量,然后在Params参数列表中接收uuid,token,发送会员信息查看接口请求;
  7. 在测试集API_Test下新建change脚本,在Body中设置请求参数(x-www-form-urlencoded格式),使用s、app_key本地环境变量,使用uuid、token全局变量,然后参数化ext_info;
  8. 使用csv文件保存接口数据驱动测试数据,csv参数名为ext_info;用户名信息 数 据 为: {"yesapi_nickname": "test001"}、{"yesapi_nickname": "test002"}、{"yesapi_nickname": "test003"};
  9. 在change脚本中设置一个断言,判断返回值err_code为0;
  10. 选择测试用例集API_Test,执行 Run,在测试集合运行页面设置执行要求,运行脚本login、check、change,运行次数要求 3 次,请求间隔时间为 1000ms,发送请求的 data 文件导入前面的新建 csv 数据文件;
  11. 设置完成执行测试用例集。

截图要求:一共 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部分。
相关推荐
测试199842 分钟前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试
测试杂货铺5 小时前
外包干了2年,快要废了。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
测试界萧萧6 小时前
外包干了4年,技术退步太明显了。。。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
小码哥说测试6 小时前
接口测试用例设计的关键步骤与技巧解析!
自动化测试·测试工具·jmeter·职场和发展·测试用例·接口测试·postman
霍格沃兹测试开发学社测试人社区7 小时前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
awonw1 天前
[java][框架]springMVC(1/2)
测试工具·postman
海布里Simple1 天前
聊聊接口测试用例设计规范
接口测试
钱钱钱端1 天前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman
测试19981 天前
外包干了2年,快要废了。。。
自动化测试·软件测试·python·面试·职场和发展·单元测试·压力测试
qq_433716951 天前
测试分层:减少对全链路回归依赖的探索!
自动化测试·软件测试·功能测试·测试工具·回归·pytest·postman