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 ...
随机推荐
- 【selenium】各种exception
selenium中的Exception解释 exception selenium.common.exceptions.ElementClickInterceptedException(msg=None ...
- 引用传参与reference_wrapper
本文是<functional>系列的第3篇. 引用传参 我有一个函数: void modify(int& i) { ++i; } 因为参数类型是int&,所以函数能够修改传 ...
- springboot前后端分离跨域
@Configurationpublic class CrossConfig implements WebMvcConfigurer { @Override public void addCorsMa ...
- PHP Curl 请求https 60错误解决办法
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
- idea 激活方法
转载自: https://www.jianshu.com/p/7d60ea5e51e9
- jmeter5.1.1 生成html报告
1.首先需要准备好 .jmx 脚本 2.修改jmeter.properties文件(把注解去掉,报告中才能展示所需信息) jmeter.save.saveservice.output_format=x ...
- 页面性能分析-Chrome Dev Tools
一.分析面板介绍 进行页面性能快速分析的主要是图中圈出来的几个模块功能: Network : 页面中各种资源请求的情况,这里能看到资源的名称.状态.使用的协议(http1/http2/quic...) ...
- orcale 多列转一行显示
强大的数据库有个自带函数wm_concat() wm_concat()这个函数放的是需要汇总的列 select wm_concat(name) name from tablename
- 2019-2020-1 20199326《Linux内核原理与分析》第二周作业
本周总结:本周的学习内容主要是庖丁解牛Linux的第一章,然后看完书后,又跟着云班课加深学习了一下第一章的内容.第一章主要讲述了linux里的汇编指令的一些指令,比如movl,pushl,popl等等 ...
- Android程序中Acticity间传递数据
在Android开发过程中,在不同的Acitivity之间传递数据的情况是非常常见的.我花费了一点时间来总结Acitivity之间的数据传递,记录下来. 1.简单传递键值对 这种传递方式非常简单,只需 ...