查询用户接口
请求方式: GET
请求路径: http://49.233.108.117:28019/api/v1/user/info
请求Header:
| 参数名 | 值 | 备注 |
|---|---|---|
| token | 字符串 | token的值从登录接口获取,登录成功会返回token |
用户的认证(鉴权)
现在网站测试接口的时候,每个接口都是相互独立。有些接口需要权限,比如转账接口需要权限,权限认证,常用的使用token 值进行认证。
在做这一类接口的时候,就需要添加 token的值到接口中。
进行查询用户信息 接口测试
- 首先需要用户登录成功。成功之后会返回token值。

- 进行用户查询接口,需要使用登录成功的token。
根据文档,在Header 中添加token值。
修改用户信息
请求方式:Put
请求路径:http://49.233.108.117:28019/api/v1/user/info
请求Header(请求头):
| 参数名 | 值 | 备注 |
|---|---|---|
| token | 字符串 | token的值从登录接口获取,登录成功会返回token |
请求参数(请求体):
数据格式: json格式
{"introduceSign": "string","nickName": "string","passwordMd5": "string"}
参数说明
| 参数名 | 值 | 备注 |
|---|---|---|
| introduceSign | 字符串 | 个人介绍信息 |
| nickName | 字符串 | 昵称 |
| passwordMd5 | 字符串 | 修改密码的md5 密文 修改密码的时候,先将明文使用md5 加密,使用加密后的密文,如果不修改密码,还是使用原来的密文。 |
使用postman操作一下
- 根据API文档,添加Header 将最新的token值复制进来

body 中添加对应的数据, 【Body】—【raw】—【json】
{"introduceSign": "我是一个好人","nickName": "好人","passwordMd5": "E99A18C428CB38D5F260853678922E03"}
这里需要注意: 如果不修改密码,还是使用原来的 md5 加密后的密码。
点击【send】,查看服务器返回的结果。

- 再次调用查看个人信息接口,查看返回的结果;

上下游传参

做接口测试的时候,也需要注意接口的执行顺序。
- 用户注册
- 用户登录 —> 返回Token值。
- 查看用户信息,修改用户信息 都使用到token。
根据业务,就有先后顺序。 称为上下游传参
- 登录成功 将token 值传递下游接口 — 登录 称为上游接口
- 下面查看用户信息,修改用户信息 都使用到token 值。 这些接口 称为 下游接口
下游接口 主要使用到 token, 下游可能有很多,但是 token 值会失效,我们的这个系统中 token值 10分钟之后会失效,失效之后 需要再次登录获取最新的token,下游有很多接口都使用到token,每次更新都需要手动更新token,特别麻烦。
- 可以将token值设置为变量。

- 在下游接口中 所有使用到token的地方都使用 变量的方式来做。


- 当token值更新的时候,只需要将最新的token值放入到 变量值中即可。

- 这样做的好处,token值更新之后,只需要在一个地方进行修改,其他地方会自动引用最新的 变量值。
👍面试问题
- 接口测试过程中是如何处理上下游关联的?
- 在做接口测试过程中,首先会分析接口之间的业务逻辑关系。
- 确定接口上下游, 将上游接口的返回结果 设置为变量。
- 下游接口所有的引用 都使用变量来表示。
- 如果上游的数据更新,只需要改动变量值即可。
✌️思维导图

作业:
基础
- 课外搜索: GET 请求和Post请求的区别;

接口实战
使用Postman完成如下练习:
接口名称: 查询天气预报接口
接口URL:_http://jisutqybmf.market.alicloudapi.com/weather/query
请求方式:_GET
请求头(Headers)
| Authorization | APPCODE 36a6d64593884af1971d218d14a23f9d |
|---|---|
🪂注意:这里需要在header中 添加 Authorization ,而不是 token 。(不同的接口参数值不一样,根据文档来)
请求参数(Query Params )
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| city | STRING | 可选 | 城市(city,cityid,citycode三者任选其一)比如搜索上海的天气, 值使用 上海 |
| citycode | STRING | 可选 | 城市天气代号(city,cityid,citycode三者任选其一) |
| cityid | STRING | 可选 | 城市ID(city,cityid,citycode三者任选其一) |
| ip | STRING | 可选 | IP |
| location | STRING | 可选 | 经纬度 纬度在前,,分割 如:39.983424,116.322987 |
注意:这里的请求参数是 Query Params ,不是body,所有参数的值放在
上面接口检验是否发送成功,服务器会返回搜索的城市的天气信息,比如搜索上海的天气,值为
数据库题:
- 所有的表在下面的数据库中,请根据连接信息使用navicat 等工具连接
主要的表主机地址:rm-bp188nr95fk4l9545ao.mysql.rds.aliyuncs.com端口号:3306用户名:abtester密码:123@abtester


完成如下练习:
查询学员每门科目都大于60分的同学成绩(也就是说最低分要大于60分);
-- 查询出成绩及格的学号SELECT sno FROM scoreGROUP BY snoHAVING min(score) > 60-- 使用子查询进行查找SELECT a.sno,a.sname,b.score,c.cname FROMstudents a INNER JOIN score b on a.sno = b.sno INNER JOIN course c on b.cno = c.cnoWHERE a.sno in (SELECT sno FROM scoreGROUP BY snoHAVING min(score) > 60)
