【接口测试】测试试题

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部分。
相关推荐
程序员小远1 天前
接口测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
程序员三藏2 天前
接口测试用例设计
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
森林的尽头是阳光2 天前
前端使用postman快速造数据
前端·javascript·vue·postman·造数·本地测试
程序员小远3 天前
Python自动化测试框架及工具详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
测试老哥3 天前
接口测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
其实防守也摸鱼5 天前
告别单个变量,用列表和字典批量管理你的 Python 数据
开发语言·网络·软件测试·python·web安全·数据结构,编程教程
Pluchon6 天前
萌萌技术分享笔记——Java综合项目
java·开发语言·笔记·git·github·mybatis·postman
好名字更能让你们记住我6 天前
【接口自动化测试】博客系统接口自动化测试报告
python·功能测试·自动化·接口测试·接口自动化·测试覆盖率