接口测试工具postman和jmeter使用说明

一、什么是接口测试?

接口测试就是功能测试,其实比功能测试还简单,不需要关注界面显示、功能按钮是否有效等。

主要包括如下参数:
1、接口请求的URL
2、请求参数
3、请求方式,如get\post\put\delete

二、接口测试工具-postman

1、get请求
不需要借助任何的工具,在浏览器里面就可以发请求;多个参数用&连接

 

 2、post请求

需要借助辅助工具发请求

1)form-data格式

2)如果接口文档中写了是json的话,那就要选raw里面的json,传json。

json是一种通用的数据类型。key-value
 
3)cookie和session
cookie:就是保存在客户端的一个键值对,即key-value
session:就是保存在服务器端的一个键值对,即key-value
 
比如,学生金币充值接口实现流程:
(1)获取sessionid,先登录,获取session,key是sign
(2)从查询学生信息的接口里面随便找一个学生的stu_id
(3)调用金币充值的接口,传入cookie和stu_id,充值gold
 
4)如果是上传文件的话,那就把参数类型改成file
form-data:支持上传附件
x-www-form-urlencoded:只能key|value格式,不能上传附件
 
5)http协议
是客户端和服务器端通信的协议。
包括如下内容:
(1)url:表示资源的路径
(2)请求头:Request Headers,一些额外的信息,用的是什么浏览器,cookie
(3)请求体:具体的数据
 
6)get和post的区别
(1)get只有请求头,没有请求体,它的参数是写在url里面;url?username=xxx&password=xxx
下面的其实都没什么区别
(2)get请求一般用来向服务器获取数据,post请求用来向服务器发送数据
(3)get请求有参数长度限制(现在的浏览器基本没有限制),post请求没有
(4)get请求没有post请求安全
 
7)如何测试接口?
(1)需要接口说明文档
(2)设计一条正确的用例,是否能正常返回结果
(3)按照业务逻辑进行测试,正常or异常,和功能测试设计的用例是一样的
 

三、性能测试工具-jmeter

 如何使用jmeter测试接口?
1、添加“线程组”
 
 2、在线程组下,添加HTTP请求
 
 3、get请求,填写HTTP请求信息,主要包括服务器名称或IP、端口号、方法、路径、参数等
 
 
此时运行并不能看到结果,与在postman中不同,需要添加监听器
 4、查看运行结果,需要添加“察看结果树”
 
 
再运行,则能在察看结果数中查看执行结果
 
6、在HTTP请求中,服务器名称和IP是一样的,每次填写很麻烦,可以通过添加“HTTP请求默认值”的方式,
添加服务器名称和IP的默认值,当然此处可以根据实际情况填写,比如如果存在一些公用的参数等
这样在同一个线程组中,HTTP请求中会获取默认值,无需每次填写
7、post方法,json类型,注意需要填写Content encoding为utf-8,否则插入的数据会变成乱码
8、cookie信息
添加HTTP请求,添加完成后运行,会提示未登录,需要传cookie信息
HTTP Cookie管理器和HTTP信息头管理器均支持传cookie信息
方法一、HTTP Cookie管理器填写如下,名称为登录用户名,值为登录接口中返回的sign值,域为服务器域名
方法二、HTTP信息头管理器
比如QQ群的cookie有很多内容,如果使用上述方法需要一个个填写,比较麻烦,可以通过添加“HTTP信息头管理器”
9、文件上传
如果提示MIME类型不能为空,可以填写txt进行传值
 
10、jmeter参数化
参数的引用:${}
1)random
2)time
时间戳:
从计算机诞生那一天到现在过了多少秒
${__time(,)} 时间戳
${__time(yyyyMMddHHmmss,)} 格式化的时间
3)文件参数化
Filename:参数文件的绝对路径
File encoding:文件编码
Variable Names(comma-delimited):变量名称
Delimiter(use '\t' for tab):多列的分隔符
Recycle on EOF:假如数据用完了,是否需要重新开始,True需要重新开始取数据
Stop thread on EOF:如果数据用完了是否需要停止线程
Sharing mode:参数化适用于哪个线程组
11、断言
自动帮你校验结果返回的是否正确
12、关联
比如学生金币充值的接口是需要传cookie的,这个cookie是从登录中来的,获取登录接口的sign值
1)登录 获取到sessionid
2)把session传给下一个接口
(1)添加“后置处理器-JSON Extrator”
配置信息如下:
在学生金币充值接口中传递的cookie信息如下:
13、如果是https的请求,只需要在协议中填写https
posted @ 2019-03-20 21:21  wendydx  阅读(358)  评论(0编辑  收藏  举报