学习笔记-接口、接口测试工具

首先,接口是什么呢?

由于前端和后端之间需要频繁的交互,而这两者的开发语言通常是不一样的,这就需要一种方式来实现它们之间的交互。

而接口可以从数据库取数据展示给客户端,也可以向数据库插入数据反馈给服务端。

所以接口可以理解为:通过从数据库取数据、插入数据,来实现服务端和客户端之间交互的工具。

 

知道了什么是接口,接下来我们来学习接口测试!接口测试,其实就是功能测试,而且比一般的功能测试还要简单。

测试接口需要知道那些信息呢?

1、接口的请求url 

2、请求参数

3、请求方式 (分为get/post/put/delete等,我们主要认识get和post请求

先来说一下get请求,get请求是不需要借助任何的工具,在浏览器里面就可以发请求的。下面先来小试牛刀一下,如下是接口说明

学习笔记-接口、接口测试工具_第1张图片

那么我们怎么在浏览器发送请求呢?这里再说一下get请求的格式是“url?参数名=参数值”如果是多个参数就用“&”分开,例如 “url?参数名=参数值&参数名2=参数值2”。下面我们就在浏览器里按照这种格式测试一下,输入http://api.nnzhp.cn/api/user/stu_info?stu_name=小白,然后发送请求,我这里得到以下返回值

学习笔记-接口、接口测试工具_第2张图片

 

对比一下,和接口说明中的返回值格式一致,说明接口调用成功了!

然后我们再来做一下post请求格式的,同样的,打开接口说明

学习笔记-接口、接口测试工具_第3张图片

post请求格式是不能直接用浏览器发送请求的,那么我们就需要工具来做测试了,常用的接口测试工具就是

postman和jmeter,我们先使用postman测试一下这个接口,后面再说jemter。

打开postman,参照下面的方式输入请求url,并且在Body按照接口说明输入需要的参数名和参数值

学习笔记-接口、接口测试工具_第4张图片

然后点击“Send”发送请求,得到返回值如下

学习笔记-接口、接口测试工具_第5张图片

对比,和接口说明中返回值格式一致。 

 

JMETER

简单的说完比较常用的两种接口,下面来学习一下jmeter。jmeter是性能测试工具,也可以制作脚本实现自动化测试。

打开jmeter,先来创建一个线程组

学习笔记-接口、接口测试工具_第6张图片

然后查看线程组,

学习笔记-接口、接口测试工具_第7张图片

里边可以设置线程数、并发数等操作。我们要测试接口,就在线程组下面在添加一个HTTP请求,

学习笔记-接口、接口测试工具_第8张图片

为了能查看接口请求的结果,我们再添加一个 查看结果树。

学习笔记-接口、接口测试工具_第9张图片

完成以上工作后,我们测试一个新的接口,查看一下接口说明

学习笔记-接口、接口测试工具_第10张图片

入参是json格式,在jmeter中把接口的url,请求方式以及参数写好

学习笔记-接口、接口测试工具_第11张图片

这里参数需要以json的格式输入到Body Data中。可以看到我这里使用了,这个只要在函数助手中生成随机的时间和随机数就可以了。然后发送请求,在查看结果树中查看

学习笔记-接口、接口测试工具_第12张图片

由于我在线程组中设置了五次循环,所以这里有五个结果。

接下来介绍另外一个功能,HTTP cookie管理器 HTTP 信息头管理器  这里使用一个需要用到cookie的接口,查看一下这个接口的说明

 

学习笔记-接口、接口测试工具_第13张图片

*在线程组中添加一个HTTP请求,然后在这个请求下边添加一个cookie管理器/信息头管理器(两者在这里的用法是一样的,只需要启用一个就行了)

cookie管理器

学习笔记-接口、接口测试工具_第14张图片

 

 信息头管理器

学习笔记-接口、接口测试工具_第15张图片

 

在配置中都按照借口说明配置参数,这里又用到了  分别是用户名和cookie值。这里首先需要介绍一下文件参数化

*文件参数化,先创建一个可编辑文本学习笔记-接口、接口测试工具_第16张图片,格式要像这样,中间用逗号隔开(也可以用别的,可以自己定义)。

然后在线程组下边添加一个  ,配置文件路径和对应的参数名

学习笔记-接口、接口测试工具_第17张图片这样配置完成后,所有线程组下的HTTP请求就都可以使用其配置到的文件中的参数值了。还有一个问题,cookie值从哪里来呢?上边介登录接口时,返回值中有一个sign,这个sign对应的值就是这里我们需要的cookie,也就是服务器端对应的session。那么我们就来调用一下登录请求,获取一下cookie值吧!

这里我已经在线程组中配置好了登录接口的请求,另外我们还需要在登录请求下添加一个  ,查看一下登录接口的返回值的json格式学习笔记-接口、接口测试工具_第18张图片,然后我们在 jp@gc - JSON Path Extractor 里边根据返回值格式,配置cookie的获取方法学习笔记-接口、接口测试工具_第19张图片

这样在登录后sessionid就是可用的cookie值了。

同时启用登录和学生金币充值两个接口发送请求,查看结果树

学习笔记-接口、接口测试工具_第20张图片

可以看到,接口请求成功,并且得到了返回值。

但是呢这些返回值有一些是没有操作成功的,怎么来判断每次请求的操作是否成功了呢?---使用断言 它可以自动帮你校验结果返回的是否正确。

例如,我们在登录接口下添加一个相应断言,用户登录成功后会返回userId,那么我们就通过校验是否返回userId来判断。

学习笔记-接口、接口测试工具_第21张图片

如上图,启用这个相应断言,然后再次发送请求,查看结果树

学习笔记-接口、接口测试工具_第22张图片

 

好了,就能看到哪些请求操作是成功的,哪些是失败的了。

 

有的同学使用jmeter可能会出现乱码的现象,最后再说一下这个解决办法:

1、解决jmeter返回有乱码
  在jmeter.properties文件中最下面加入sampleresult.default.encoding=UTF-8
  重启jmeter
2、bodydata里面中文显示不出来
  在jmeter.properties文件中最下面加入jsyntaxtextarea.font.family=Hack
  重启jmeter

 

 

以上就是本次分享的学习内容,精彩未完,待续。。。

 

转载于:https://www.cnblogs.com/vitkoo/p/10566456.html

你可能感兴趣的:(测试,json,数据库)