【接口测试】测试试题

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部分。
相关推荐
美团测试工程师2 小时前
九大高效的前端测试工具与框架
软件测试·测试工具·jmeter
测试者家园9 小时前
ChatGPT生成接口文档的方法与实践
软件测试·chatgpt·测试用例·接口测试·接口文档·ai赋能·用chatgpt做软件测试
Heaven64511 小时前
6.8 Newman自动化运行Postman测试集
软件测试·自动化·接口测试·postman·newman
utmhikari14 小时前
【Python随笔】如何用pyside6开发并部署简单的postman工具
python·postman·pyqt·pyside6·桌面工具
测试老哥15 小时前
Python自动化测试图片比对算法
自动化测试·软件测试·python·测试工具·程序人生·职场和发展·测试用例
测试者家园1 天前
ChatGPT接口测试用例生成的流程
软件测试·chatgpt·测试用例·接口测试·测试图书·质量效能·用chatgpt做测试
互联网杂货铺1 天前
几个常见的Jmeter压测问题
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
大霞上仙1 天前
postman读取文件执行
测试工具·postman
测试者家园1 天前
ChatGPT与接口测试工具的协作
软件测试·测试工具·chatgpt·接口测试·ai赋能·用chatgpt做软件测试·测试图书
ggggyyyyy09281 天前
接口测试-Fidder及jmeter使用
测试工具·jmeter·fiddler·接口测试