day10 电商系统后台API——接口测试(使用postman)

news2024/12/15 8:48:02

【没有所谓的运气🍬,只有绝对的努力✊】

目录

实战项目简介:

1、用户管理(8个)

1.1 登录

1.2 获取用户数据列表

1.3 创建用户

1.4 修改用户状态

1.5 根据id查询用户

1.6 修改用户信息

1.7 删除单个用户

1.8 分配用户角色

2、权限(2个)

2.1 获取所有权限列表

2.2 左侧菜单权限

3、角色管理(7个)

3.1 角色列表

3.2 添加角色

3.3 根据id查询角色

3.4 修改角色

3.5 删除角色

3.6 角色授权

3.7 删除角色指定权限

​编辑

4、商品分类管理

4.1 商品分类数据列表

4.2 添加商品分类

4.3 根据id查询分类

4.4 编辑分类

4.5 删除分类

5、分类参数管理

5.1 参数列表

5.2 添加动态参数或静态属性

5.3 编辑参数

5.4 根据id查询参数

5.5 删除参数

6、商品管理

6.1 商品列表

6.2 添加商品

6.3 编辑商品

6.4 查询指定id 的商品

6.5 删除商品

7、订单管理(该接口里面无数据,暂时不能测试)

7.1  订单列表

7.2 修改订单(不可测)

7.3 查询指定订单id(不可测)

8、数据统计

9、导出测试用例集+环境文件


实战项目简介:

本项目接口包含36个接口。全部来自项目的真实接口,有鉴权。

登录接口会返回一个token,后续的接口里面都需要依赖token鉴权,需要再请求Header中加上参数Authorization,值就是登录接口返回的token。

面记录下我自己用postman做接口测试的相关过程。


1、用户管理(8个)

1.1 登录

根据接口文档,使用postman进行接口测试。

请求路径:{{base_url}}/api/private/v1/login

请求方法:post

请求参数: {"username": "admin", "password": "123456"}

将登录接口返回的token,设置环境变量,保存为token,给后续接口使用。

后续接口里面的 请求Header中加上参数Authorization,值就是登录接口返回的token。

1.2 获取用户数据列表

请求路径:/api/private/v1/users

请求方法:get

请求参数:

        query:                         可选)

        pagenum:1                (必填)

        pagesize:'20                必填)

Header参数:

        Authorization: 登录接口返回的token 

断言状态码

1.3 创建用户

请求路径:/api/private/v1/users

请求方法:post

请求参数:

        { "username": ";李未来", "password": "123456", "email": "ch00j@163.com", "mobile": "13772008989" }

Header参数:

        Authorization: 登录接口返回的token

将创建用户成功后,返回的id值,存入环境变量中,用来后续修改。

添加断言

1.4 修改用户状态

请求路径:/api/private/v1/users/{uId}/state/{type}

请求方法:put

请求参数:

        uId: 用户id值,创建用户返回的    (必填)

        type:true/false                               (必填)

Header参数:

        Authorization: 登录接口返回的token

1.5 根据id查询用户

请求路径:/api/private/v1/users/{id}

请求方法:get

请求参数:

                id:用户id值,创建用户返回的    (必填)

Header参数:

        Authorization: 登录接口返回的token

1.6 修改用户信息

请求路径:/api/private/v1/users/{id}

请求方法:put

请求参数:

                  id:用户id值,创建用户返回的    (必填)

Header参数:

        Authorization: 登录接口返回的token

1.7 删除单个用户

请求路径:/api/private/v1/users/{id}

请求方法:delete

请求参数:

                 id:用户id值,创建用户返回的    (必填)

Header参数:

        Authorization: 登录接口返回的token

1.8 分配用户角色

请求路径:/api/private/v1/users/{id}/role

请求方法:put

请求参数:

                   id:用户id值,创建用户返回的    (必填)

Body参数:

                rid:"05"

Header参数:

        Authorization: 登录接口返回的token

2、权限(2个)

2.1 获取所有权限列表

请求路径:/api/private/v1/rights/list

请求方法:get

请求参数:

                type:tree/list         (tree树状展示,list列表展示)

Header参数:

        Authorization: 登录接口返回的token

2.2 左侧菜单权限

请求路径:/api/private/v1/menus

请求方法:get

请求参数:  无

Header参数:

        Authorization: 登录接口返回的token

3、角色管理(7个)

3.1 角色列表

请求路径:/api/private/v1/roles

请求方法:get

请求参数:无

Header参数:

        Authorization: 登录接口返回的token

3.2 添加角色

请求路径:/api/private/v1/roles

请求方法:post

请求参数:

                { "roleName": "string", "roleDesc": "string" }

                其中:roleName 必填;roleDesc选填

Header参数:

        Authorization: 登录接口返回的token

3.3 根据id查询角色

请求路径:/api/private/v1/roles/{{role_id}}

请求方法:get

请求参数:

                id:30            添加角色返回的roleId值

Header参数:

        Authorization: 登录接口返回的token

3.4 修改角色

请求路径:/api/private/v1/roles/{{role_id}}

请求方法:put

请求参数:

                id:30              添加角色返回的roleId值

Body参数:

                { "roleName":"销售负责人", "roleDesc":"销售" }

Header参数:

        Authorization: 登录接口返回的token

3.5 删除角色

请求路径:/api/private/v1/roles/{{role_id}}

请求方法:delete

请求参数:

                id:30    添加角色返回的roleId值

Header参数:

        Authorization: 登录接口返回的token

3.6 角色授权

请求路径:/api/private/v1/roles/{{role_id}}/rights

请求方法:post

请求参数:role_id

Header参数:

        Authorization: 登录接口返回的token

3.7 删除角色指定权限

请求路径:/api/private/v1/roles/{{role_id}}/rights/101

请求方法:delete

请求参数:role_id

Header参数:

        Authorization: 登录接口返回的token

4、商品分类管理

4.1 商品分类数据列表

请求路径:/api/private/v1/categories

请求方法:get

请求参数:

Header参数:

        Authorization: 登录接口返回的token

4.2 添加商品分类

请求路径:/api/private/v1/categories

请求方法:post

请求参数:

{

        "cat_pid":"1002",

        "cat_name":"休闲食品2",

        "cat_level":"1"

}

Header参数:

        Authorization: 登录接口返回的token

将添加商品返回结果的cat_id,存入环境变量中,方便后续的根据ID查询分类、编辑分类、删除分类。

4.3 根据id查询分类

请求路径:/api/private/v1/categories/{{cat_id}}

请求方法:get

请求参数:cat_id

Header参数:

        Authorization: 登录接口返回的token

4.4 编辑分类

请求路径:/api/private/v1/categories/{{cat_id}}

请求方法:put

请求参数:cat_id

Header参数:

        Authorization: 登录接口返回的token

4.5 删除分类

请求路径:/api/private/v1/categories/{{cat_id}}

请求方法:delete

请求参数:cat_id

Header参数:

        Authorization: 登录接口返回的token

5、分类参数管理

5.1 参数列表

请求路径:/api/private/v1/categories/{{cat_id}}/attributes?sel=only

请求方法:get

请求参数:cat_id

Header参数:

        Authorization: 登录接口返回的token

5.2 添加动态参数或静态属性

请求路径:/api/private/v1/categories/{{cat_id}}/attributes

请求方法:post

请求参数:cat_id

Header参数:

        Authorization: 登录接口返回的token

将返回结果的attr_id,存入环境变量中,方便后续的编辑参数接口使用。

5.3 编辑参数

请求路径:/api/private/v1/categories/{{cat_id}}/attributes/{{attr_id}}

请求方法:put

请求参数:cat_id    attr_id

Header参数:

        Authorization: 登录接口返回的token

5.4 根据id查询参数

请求路径:/api/private/v1/categories/{{cat_id}}/attributes/{{attr_id}}

请求方法:get

请求参数: cat_id    attr_id

Header参数:

        Authorization: 登录接口返回的token

5.5 删除参数

请求路径:/api/private/v1/categories/{{cat_id}}/attributes/{{attr_id}}

请求方法:delete

请求参数: cat_id    attr_id

Header参数:

        Authorization: 登录接口返回的token

6、商品管理

6.1 商品列表

请求路径:/api/private/v1/goods?query&pagenum=10&pagesize=10

请求方法:get

请求参数:

Header参数:

        Authorization: 登录接口返回的token

6.2 添加商品

请求路径:/api/private/v1/goods

请求方法:post

Body请求参数:

{

        "goods_name": "手机壳_华为",

        "goods_cat": "1,2,3",

        "goods_price": "19.9",

        "goods_number":"200",

        "goods_weight":"100",

        "goods_introduce":"手机壳",

        "pics":"",

        "attr":"手机壳"

}

Header参数:

        Authorization: 登录接口返回的token

将响应结果里面的 goods_id值,存入环境变量中。便于后续的编辑商品、查询指定id商品、删除商品使用。

6.3 编辑商品

请求路径:/api/private/v1/goods/{{goods_id}}

请求方法:put

Body参数:

{

        "goods_name": "Iphone手机壳111",

        "goods_cat": "1,2,3",

        "goods_price": "19.9",

        "goods_number":"200",

        "goods_weight":"100",

        "goods_introduce":"手机壳",

        "pics":"",

        "attr":"手机壳"

}

Header参数:

        Authorization: 登录接口返回的token

6.4 查询指定id 的商品

请求路径:/api/private/v1/goods/{{goods_id}}

请求方法:get

请求参数:goods_id

Header参数:

        Authorization: 登录接口返回的token

6.5 删除商品

请求路径:/api/private/v1/goods/{{goods_id}}

请求方法:delete

请求参数:goods_id

Header参数:

        Authorization: 登录接口返回的token

7、订单管理(该接口里面无数据,暂时不能测试)

7.1  订单列表

请求路径:/api/private/v1/orders

请求方法:get

请求参数:

        

Header参数:

        Authorization: 登录接口返回的token

7.2 修改订单(不可测)

由于7.1 查不到订单数据,拿不到订单id,这个修改订单接口暂时测不了。

7.3 查询指定订单id(不可测)

8、数据统计

8.1 基于时间统计

请求路径:/api/private/v1/reports/type/1

请求方法:get

请求参数:无

Header参数:

        Authorization: 登录接口返回的token

9、导出测试用例集+环境文件


完整的项目,使用接口测试,还有参数化,完成啦。中间也有磕磕绊绊,写断言的时候,靠着前两天学习的接口测试那块,回忆起来的,没有翻笔记。哈哈哈哈哈

加油,今天的任务已完成,yes。完整的接口测试项目。yes!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2259843.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云服务器搭建lamp的wordpress

Ubuntu系统搭建过程目录 一、检查环境1.1 检查是否安装Apache1.2 检查是否安装Mysql1.3 检查是否安装PHP 二、安装Apache截图 三、安装Mysql3.1 安全安装配置3.2 修改权限和密码3.3 重启MySQL服务 四、安装PHP4.1 测试截图 五、下载并安装wordpress以及配置5.1 下载并解压移动5…

C#速成(GID+图形编程)

常用类 类说明Brush填充图形形状,画刷GraphicsGDI绘图画面,无法继承Pen定义绘制的对象直线等(颜色,粗细)Font定义文本格式(字体,字号) 常用结构 结构说明Color颜色Point在平面中定义点Rectan…

babeltrace与CTF相关学习笔记-4

babeltrace与CTF相关学习笔记-4 写在前面metadata_string 重头开始定位,操作meta的位置bt_ctf_trace_get_metadata_string stream部分内存的问题 写在前面 正在并行做几件事。 在编译过程中,突然想到,还是再详细研究一下之前的例程。 一是详…

多旋翼无人机 :桨叶设计—跷跷板结构

多旋翼无人机 :桨叶设计——跷跷板结构 前言跷跷板结构 前言 2024年11月,大疆发布了最新的农业无人机T70和T100。其中T70不同于以往的机型,在桨夹处采用了翘翘板结构,大疆将其命名为“挥舞桨叶”。 T70 无人机如下 放大其中螺旋…

低通滤波器,高通滤波器,公式

1 低通滤波器 :输出的是电容的电压 1 低通滤波器可以把低频信号上面的高频信号给滤掉 2 100hz正常通过 3 经过低通滤波器后,波形光滑,绿色波形。一致 4 电容充电速度跟不上输入信号的速度(因为加了电阻,限制了电流&…

如何打造个人知识体系?

第一,每个人的基本情况不同。比如我有一个类别跟「设计」相关,这是自己的个人爱好,但不一定适合其他人。再比如我还有一个类别跟「广告文案」相关,因为里面很多表达可以借用到演讲或写作中,这也不适合所有人。 第二&am…

5G中的ATG Band

Air to Ground Networks for NR是R18 NR引入的。ATG很多部分和NTN类似中的内容类似。比较明显不同的是,NTN的RF内容有TS 38.101-5单独去讲,而ATG则会和地面网络共用某些band,这部分在38.101-1中有描述。 所以会存在ATG与地面网络之间的相邻信…

《自动驾驶技术的深度思考:安全与伦理的挑战》

内容概要 在当今这个自动驾驶技术飞速发展的时代,我们生活的节奏恰似一场疾驰的赛车,然而,赛道上并非总是平坦。在这场技术革命中,安全与伦理问题像是潜伏在阴影中的幽灵,轮番考验着我们的道德底线与法律界限。 随着…

hbuilder 安卓app手机调试中基座如何设置

app端使用基座 手机在线预览功能 1.点击运行 2.点击运行到手机或者模拟器 3.制作自定义调试基座 4.先生成证书【可以看我上一篇文档写的有】,点击打包 5.打包出android自定义调试基座【android_debug.apk】,【就跟app打包一样需要等个几分钟】 6.点击运行到手…

【AIGC】如何高效使用ChatGPT挖掘AI最大潜能?26个Prompt提问秘诀帮你提升300%效率的!

还记得第一次使用ChatGPT时,那种既兴奋又困惑的心情吗?我是从一个对AI一知半解的普通用户,逐步成长为现在的“ChatGPT大神”。这一过程并非一蹴而就,而是通过不断的探索和实践,掌握了一系列高效使用的技巧。今天&#…

汽车免拆诊断案例 | 2014款保时捷卡宴车发动机偶尔无法起动

故障现象 一辆2014款保时捷卡宴车,搭载3.0T 发动机,累计行驶里程约为18万km。车主反映,发动机偶尔无法起动。 故障诊断 接车后试车,发动机起动及运转均正常。用故障检测仪检测,发动机控制单元(DME&#x…

aippt:AI 智能生成 PPT 的开源项目

aippt:AI 智能生成 PPT 的开源项目 在现代办公和学习中,PPT(PowerPoint Presentation)是一种非常重要的展示工具。然而,制作一份高质量的PPT往往需要花费大量的时间和精力。为了解决这一问题,aippt项目应运…

【泛微系统】流程发起次数报表

流程发起次数报表 应用场景: 查询所有发起过业务流程的员工的信息,可作为绩效考核、系统使用情况等依据; 如何使用该SQL生成系统在线报表,实时查询最新的发起数据? 1、数据库创建视图,并定义一个视图名称如;view_test1 2、系统后台建模引擎-表单-右键创建一个虚拟表单…

【电子元器件】电感基础知识

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。 一、 电感的基本工作原理 1. 电感的基本工作原理如下: (1) 当线圈中有电流通过时&#…

IDEA 修改格式化仅格式化本次改动代码

最近总是发现格式化的时候会格式化文件所有代码,提交Git 后再看提交日志,就很不清晰。修改方式如下 中文: 格式化代码快捷键[中文配置]: 英文: 格式化代码快捷键[英文配置]:

数据结构开始——时间复杂度和空间复杂度知识点笔记总结

好了,经过了漫长的时间学习c语言语法知识,现在我们到了数据结构的学习。 首先,我们得思考一下 什么是数据结构? 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素…

【游戏设计原理】7 - 加德纳的多元智能理论

虽然多元智能理论是对认知方式的分类,但它也可以为游戏设计提供丰富的思路和策略,帮助设计师创建更具吸引力、包容性和多样性的游戏。通过理解不同玩家的认知方式和优势,我们可以更精准地设计游戏的元素和玩法,使其能够吸引广泛的…

【OpenCV】基于分水岭算法的图像分割

介绍 分水岭算法(Watershed Algorithm)是一种基于形态学的图像分割方法,它模仿了地理学中的分水岭概念。在图像处理中,分水岭算法通过模拟水流从山顶流向谷底的过程来分割图像,其中局部极小值点被视为“山谷”&#x…

ubuntu20.04+ROS Noetic 安装PX4+Mavros

文章目录 系统环境安装依赖PX4 安装老版本安装测试环境变量添加版本查看 安装MAVROS(二进制安装非源码安装)测试 OGC 地面站安装测试mavros与sitl通信参考 系统环境 ubuntu 20.04 ROS Noetic 如果系统安装了Anaconda等虚拟环境管理器,要退出…

Vue Web开发(七)

1. echarts介绍 echarts官方文档 首先我们先完成每个页面的路由,之前已经有home页面和user页面,缺少mail页面和其它选项下的page1和page2页面。在view文件夹下新建mail文件夹,新建index.vue,填充user页面的内容即可。在view下新建…