接口测试
一、接口理论
1)什么是接口?
前端:
负责展示的
语言:
web:html,js,css
app:
ios :object-c,swift
android:android
后端:
负责主要的逻辑,负责各种操作数据库的
语言:java,c,python,go
通过 接口前台和后台交互,接口返回一种通用的数据类型,所有的语言都认识(返回的类型为json)
2)做接口的目的?
测试接口的逻辑正确性和稳定性
测试在前端页面上发现不了的bug
3)接口测试流程:
1.接口的功能测试(先保证接口是正确的)
2.测试接口的数据(传递一些特殊的数据,保证接口没有问题)(比如搜索违禁品,是否可以搜索成功)
3.自动化测试脚本的编辑 --用jmeter 可以编写一个简单的自动脚本
4.接口的性能、压力测试
性能:压力扛不住,好几百亿的订单,同时请求,就出现崩溃,通常用在大型的秒杀
4)网络编程基本概念
客户端(client):移动应用(在iOS,Android,web端的应用)
服务器(server):为客服端提供服务的机器,(存放数据)
请求(request):客户端向服务器索取的数据的一种行为(客户端想看什么)
响应(response):服务器对客户端对请求做出的反应,把数据的数据在返回到客户端(请求数据返回的数据)
5)HTTP协议
协议:计算机通讯网络中两台计算机之间进行通讯所以比遵守的规则或者规定
HTTP协议:超文本传输协议,是一种规定了浏览器和服务之间的通信规则
URL(统一资源定位):
概念:互联网上的地址,位置,每一个资源都有一个唯一的URL
格式:协议://主机地址/位置
二、接口测试文档的组成 (下图):
接口说明
url
请求方法
请求的参数,参数类型,
返回的数据
1)url的组成
域名+接口地址
2)常用请求方式:
get,post(一般文档会写,即使没有些抓包也可以抓到)
get 请求不需要介入工具,在浏览器就可以调用接口
在域名后 +?传的参数(用&链接下一个参数)
已百度为例,括号中的为参数,复制的数据会进行url编码并不是乱码
post请求需要用到接口工具
postman 工具使用
请求get:
将url填写,请求方式为get
在params中填写key 和 value,value的数据会自动填写到url中
key填写传参的字段,value 填写参数,get没有请求体
请求post:
将url填写,请求方式为post
切换到body -form-data 填写数据
如果传参为json 类型,格式需要改为raw ,类型修改为json (注意格式一定要写对),返回数据未登录请忽律,因为我token没有传
上传文件图片:
body>horm-data,类型改为file
cookie:
存在客户端的键值对
session:
存在服务端的键值对
区别在于
Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中
Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。
PC端查看返回的接口数据
如果没有接口文档,可以抓包看到返回的接口数据
1.进入任意一个浏览器,点击右键>检查>Network>xhr(后端的接口)
可以查看请求的数据
2)常见返回状态码:
200--返回成功
300--请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端,重定向
400--客户端问题(404:访问的url不存在)
500--服务端问题(有可能传参错误)