HTTP接口测试
HTTP接口测试
1.1 get接口
请求URL
http://api.nnzhp.cn/api/user/stu_info请求方式 get
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| stu_name | 是 | string | 学生姓名 |
http://api.nnzhp.cn/api/user/stu_info?stu_name=test001
{
"error_code": 0,
-"stu_info": [
-{
"id": 4058,
"name": "test001",
"sex": "男",
"age": 18,
"addr": "北京市昌平区",
"grade": "7",
"phone": "15062431255",
"gold": 25100
}
1.2 post 接口
2.2.1 登录接口
请求URL
http://api.nnzhp.cn/api/user/login请求方式 post
请求参数 : 参数为key-value形式
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| username | 是 | string | 用户名 |
| passwd | 是 | string | 密码 |
登陆用户名:niuhanyang 密码:aA123456
post方法的参数是放在body中的,参数直接放到URL中是无效的
{
"error_code": 0,
-"login_info": {
"login_time": "20200509211925",
"sign": "34972ea3f42d75c03574d3553a4df77e",
"userId": 47749
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| error_code | int | 错误编码,0为操作成功 |
| login_info | object | 登录对象信息 |
| userId | int | 用户id |
| sign | string | 签名 |
| login_time | string | 登录时间 |
2.2.2 添加学生信息接口
请求URL:
http://api.nnzhp.cn/api/user/add_stu请求方式 post
参数 ,入参是json类型
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| name | 是 | string | 学生姓名 |
| grade | 是 | string | 班级 |
| phone | 是 | int | 电话 |
| sex | 否 | string | 性别,如果不传默认为男 |
| age | 否 | int | 年龄,如果不传默认为18 |
| addr | 否 | string | 地址,如果不传默认为北京市昌平区 |
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| error_code | int | 错误编码,1000为操作成功 |
| msg | string | 提示信息 |
请求示例
{
"name":"micr067",
"grade":"白羊座",
"phone":13888888880,
"sex":"男",
"age":26,
"addr":"北京市朝阳区"
}
返回示例
{
"error_code": 0,
"msg": "操作成功!"
}
2.2.3 学生金币充值
请求URL:
http://api.nnzhp.cn/api/user/gold_add
请求方式 post
参数 : 该接口有权限验证,需要admin用户才可以做操作,需要添加cookie cookie中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| stu_id | 是 | int | 学生id |
| gold | 是 | int | 金币数量 |
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| error_code | int | 错误编码,0为操作成功 |
| msg | string | 提示信息 |
如上述描述,入参形式需要添加cookie
cookie是保存在用户浏览器端的一个键值对 session就是保存在服务器的一个键值对,一般session都是存在缓存里面,因为要经常用到,要提升性能的话直接把session放到内存里面。
该接口有权限验证,需要admin用户才可以做操作,需要添加cookie
我们通过“获取学生信息”接口查看到学生的id信息,然后通过“登录”接口,获取niuhanyang的签名的值如下:
查询出ID=4058
sign值为:34972ea3f42d75c03574d3553a4df77e
Header:
cookie:niuhanyang=34972ea3f42d75c03574d3553a4df77e
Body
stu_id:4058
gold:1000
2.2.4 获取所有学生信息
请求URL:
http://api.nnzhp.cn/api/user/all_stu请求方式 get
参数 ,需要添加header信息,key为Referer value 为http://api.nnzhp.cn/
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| error_code | int | 错误编码,0为操作成功 |
| all_stu | list | 提示信息 |
1、如果不添加header,直接用浏览器地址栏访问,会提示来路不正确
{
"error_code": 4,
"msg": "请求来路不正确"
}
2、添加header信息,并进行调用
Referer:http://api.nnzhp.cn
2.2.5 文件上传类型
请求URL:
http://api.nnzhp.cn/api/file/file_upload请求方式 post
参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| file | 是 | file | 文件 |
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| error_code | int | 错误编码,0为操作成功 |
| msg | string | 提示信息 |
HTTP接口测试的更多相关文章
- 从Fiddler抓包到Jmeter接口测试(简单的思路)
备注:本文为博主的同事总结的文章,未经博主允许不得转载. Fiddler下载和配置安装 从网上下载fiddler的安装包即可,直接默认,一直点击下一步,直至安装完成. 安装完成后直接打开Fiddler ...
- C#进阶系列——WebApi 接口测试工具:WebApiTestClient
前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗.由于接口个数有点多,每 ...
- JAVA+Maven+TestNG搭建接口测试框架及实例
1.配置JDK 见另一篇博客:http://www.cnblogs.com/testlurunxiu/p/5933912.html 2.安装Eclipse以及TestNG Eclipse下载地址:ht ...
- Web接口测试工具--Jmeter
关于Jmeter性能测试工具不再过多介绍.如果你要学习软件性能测试,那么多少应该会对它有所耳闻. 强烈建议阅读官方文档学习:http://jmeter.apache.org/index.html 还有 ...
- Web接口测试工具---Poster与Postman
工作当中有不少时间在编写和维护接口自动化测试用例.打算先整理一些接口相关工具的使用. 简单对接Web口测试的相关工具/技术做个划分. HTTP/SOAP协议接口的功能测试: 1.浏览器URL(GET请 ...
- HttpClient在HTTP协议接口测试中的使用
TTP协议的接口测试中,使用到最多的就是GET请求与POST请求,其中POST请求有FORM参数提交请求与RAW请求,下面我将结合HttpClient来实现一下这三种形式: 一.GET请求: GET请 ...
- Jsoup做接口测试
最早用Jsoup是有一个小的爬虫应用要写,发现Jsoup较HttpClient轻便多了,API也方便易懂,上手很快,对于response的Document解析的选择器用的是cssSelector(Jq ...
- java分享第十一天(接口测试)
HTTP协议的接口测试中,使用到最多的就是GET请求与POST请求,其中POST请求有FORM参数提交请求与RAW请求( post请求时有一个选项是form-data,或者raw,使用raw可以请求 ...
- django项目的接口测试
基于Python的Django框架: 进行接口测试: 参见虫师的博客: 整理部分笔记:
- 接口测试(二)—HttpClient
使用HttpClient进行接口测试,所需要使用的相关代码 HttpClient进行接口测试所需jar包:httpclient.jar.httpcore.jar.commons-logging.jar ...
随机推荐
- layoutInflater参数解析与源码分析
关于LayoutInflater方法,无论是在listview的适配器中,还是在动态添加view的时候,都会出现它的身影,最开始我在看<第一行代码>时,不知道这个方法实际的参数到底指的是什 ...
- Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述
Spark SQL模块,主要就是处理跟SQL解析相关的一些内容,说得更通俗点就是怎么把一个SQL语句解析成Dataframe或者说RDD的任务.以Spark 2.4.3为例,Spark SQL这个大模 ...
- Java实现链表(个人理解链表的小例子)
1.单链表和数组的区别 数组:数组的存储空间是连续的,需要事先申请空间确定大小,通过下标查找数据,所以查找速度快,但是增加和删除速度慢 链表:离散存储,不需要事先确定大小,通过头指针加遍历查找数据,查 ...
- 从零开始学习docker之docker的安装
一.Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程 ...
- php +go关键字实现协程
来源: https://studygolang.com/articles/17631?fr=sidebar 今天在知乎浏览时忽然发现了一个有趣的东西,php竟然可以实现协程的实现,而且还是通过go关键 ...
- Ubuntu 搜索文件
1.whereis 文件名 特点:快速,但是是模糊查找 例如: whereis php #会把php,php.ini,php.*所在的目录都找出来. 2.find / -name 文件名 特点:准确, ...
- Synchronous and Asynchronous I/O [Windows]
There are two types of input/output (I/O) synchronization: synchronous I/O and asynchronous I/O. Asy ...
- Jetson AGX Xavier刷机
1. 准备一台电脑做主机(host),运行Ubuntu系统,我用的是虚拟机,运行的是Ubuntu 18.04系统. 2. 主机更换apt-get源,参见https://www.cnblogs.com/ ...
- Node 接入阿里云实现短信验证码
本文介绍在案例云开通短信服务的流程以及在Node项目中使用的方法. 一.开通阿里云短信服务 登陆阿里云,然后进入 https://dysms.console.aliyun.com/dysms.htm ...
- Oracle把表记录恢复到指定时间节点
可以执行以下命令alter table 表名 enable row movement; --开启表行移动flashback table 表名 to timestamp to_timestamp('20 ...