一、接口测试的概念

    弄清楚接口测试,首先要了解前端(client端)和后端(server端),前端目前主流三个系统,web端和移动端,web端常用语言是html、css、js。移动端分为ios和Android,ios常用语言是swift、object-c,Android常用语言就是Android。而后端(server端)开发语言就比较多了,如java、python、php、.net等等。而接口就是把前后端联系起来的一种数据类型传送方式。测试接口必须要有接口文档,按照接口文档的入参与出参格式对照进行比对。

   接口测试现在用的最常见的数据传送类型就是json。格式如下:

{
'name':'王五' ,
'sex':男
}

接口返回的数据都是json。
key-value
键值对

目前还有xml这种数据类型。格式如下:

<name>wangwu</name>ianjia
<sex>nan</sex>

  接口测试其实就是功能测试,包含各种花样操作数据库。如果是get请求,不需要借助任何工具,浏览器可以直接发送请求。参数需要在路径后面加?添加,多个参数传参参数和参数之间用&隔开如:

http://ip/api/user/stu_info?stu_name=小四&sex=女&xxx=xx

二、cookie和session的概念

  cookie就是存放在本地的一个键值对。如:

niuhanyang:hahaha12345,实际上key-value中的value值可能会做一些特殊处理。

session就是存放在服务器的一个键值对。如:

niuhanyang:hahaha12345,实际上key-value中的value值可能会做一些特殊处理。

  当本地清除缓存后,本地存放的键值对消失,这个时候服务器校验需要重新登录。目前主流大型网站都实行的是DNS解析,就是将域名解析成IP。

三。http请求及get请求和post请求区别

http请求分为两个部分,请求头和请求体,请求头里面呢是一些额外的信息,比如说用的什么浏览器,cookie,需要什么类型数据,header,请求体里面传的是具体的数据。

get请求和post请求的区别:

1、get请求只有请求头,是没有请求体的。它的数据直接放在url里面的,post请求数据是放在body里面的。

2、get请求有长度限制,post请求没有,在以前的时候技术不好,有长度限制,现在已经就没有了。

3、get请求和post请求一样,只要通过抓包,post请求数据一样可以看到。

http状态码:

200 请求成功
302 重定向
404 客户端发出去的请求不合法
500 服务端内部程序问题  501 服务器还不具有请求功能 502 错误的网关 503 服务器在维护或暂停 504 网关超时

工具篇:

一、postman变量设置

 

 添加变量,点击globals,输入变量名和变量值,引用时是用{{}}符号引用。

二、jmeter

jmeter是一款开源的java开发的一个压力测试工具。

jmeter查看结果树乱码解决方法:

1、在jmeter的bin目录下找到jmeter.properties这个文件添加上sampleresult.default.encoding=utf-8。
2、重启jmeter。

jmeter body data里面有乱码解决方法:

1、在jmeter的bin目录下找到jmeter.properties这个文件添加上jsyntaxtextarea.font.family=Hack。
2、重启jmeter。

jmeter参数化三种方式:

1、在用户自定义变量。

2、函数助手框中的函数生成器。

__random  代表随机数,代表在某个范围值取随机
__counter  计数器函数,从1开始计数。
__time     时间函数,有2种,一种是格式化好的时间 yyyyMMddHHmmss,一种是时间戳,从计算机发明那一天到现在过了多少秒。

jmeter是java开发的,Java里面的时间戳默认是精确到毫秒。

所以你要除以1000才是真正的时间戳。

3、从文件中读取

jmeter断言:

jmeter关联:

1、调用第一个接口,然后从这个接口的返回数据里面拿到某个值
2、放到第二个接口里面来用。