【接口测试】测试试题

devtools/2024/9/29 10:28:18/
需要技能竞赛软件测试资料的同学们可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"}

设置用户信息

        Ø 响应结果:

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

同注册时使用的密码

密码

        Ø 响应结果:

{"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获得

会话凭证

        Ø 响应结果:

{"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文件获得

用户信息

        Ø 响应结果:

{"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部分。

http://www.ppmy.cn/devtools/118651.html

相关文章

JavaScript网页设计案例:互动式简历网站

JavaScript网页设计案例:互动式简历网站 在现代网页设计中,JavaScript 是实现交互和动态效果的关键技术。本文将通过一个完整的案例,展示如何使用 JavaScript 构建一个交互式的个人简历网页。本文不仅会涵盖 HTML 和 CSS 的使用,…

什么是SQL注入?

SQL注入是一种安全漏洞,攻击者通过在应用程序的输入字段中插入恶意SQL代码,从而操控数据库。此类攻击通常利用应用程序未对用户输入进行适当验证和清理的弱点。 工作原理: 输入字段:攻击者在登录表单或搜索框等输入区域插入恶意…

基于Java开发的(控制台)模拟的多用户多级目录的文件系统

多级文件系统 1 设计目的 为了加深对文件系统内部功能和实现过程的理解,设计一个模拟的多用户多级目录的文件系统,并实现具体的文件物理结构、目录结构以及较为完善的文件操作命令集。 2 设计内容 2.1系统操作 操作命令风格:本文件系统的…

Qt网络通信之TCP

前言 Qt中的TCP通信还是比较简单的,它基于QTcpSocket和QTcpServer这两个类。 正文 直接看图 服务器端选择好监听地址和端口号后就直接开始监听 客户端选择相应的服务器地址和端口进行TCP连接 连接成功 在输入框输入信息可以实现服务器端和客户端的相互通信&am…

Linux之我不会

一、常用命令 1.系统管理 1.1 systemctl start | stop | restart | status 服务名 案例实操 1 查看防火墙状态 systemctl status firewalld2 停止防火墙服务 systemctl stop firewalld3 启动防火墙服务 systemctl start firewalld4 重启防火墙服务 systemctl restart f…

Zotero7+better notes+Ethereal Style自定义笔记模版

插件版本 zotero: v7.0.5 Ethereal Style: v4.9.8 Better Notes for Zotero: v2.0.8 Green Frog: v0.19.05 笔记模版样式 模版代码 <!-- zotero: v7.0.5Ethereal Style: v4.9.8Better Notes for Zotero: v2.0.8Green Frog: v0.19.05 --><!-- 标题 -->&l…

一文理解mysql 联合索引和各种SQL语句分析

文章目录 索引图示主键索引二级索引表SQL总结索引图示 主键索引 二级索引 这里如果是联合索引的话,那里面的key就是多个colume的值 表 -- demo.`order` definitionCREATE TABLE `order` (

cv2.waitkey(30) 按键盘无效

cv2.imshow("detection", color_image) # 窗口显示&#xff0c;显示名为 Capture_Videok cv2.waitKey(100) & 0xFF # 每帧数据延时 1ms&#xff0c;延时不能为 0&#xff0c;否则读取的结果会是静态帧 if k ord(s): # 键盘按一下s, 保存当前照片和机械臂位姿…