接口测试基础

第1章 什么是接口测试

为什么要做接口测试?
接口的由来:连接前后端及移动端
不用端的工作进度不一样,需要对最开始出来的接口进行接口测试

  • 节约时间,缩短项目时间
  • 提高工作效率
  • 提高系统健壮性

什么是接口测试?
一、什么是接口?
接口的种类:内部接口(上层服务与下层服务、同级服务)、外部接口
接口的分类:
在这里插入图片描述

post请求的数据是放在WebForm里面的,以表单形式提交(更安全)
get请求的数据直接在地址栏里,与地址一起提交

不同接口类型的差异:
参数提交方式、请求数据大小

第2章 接口测试流程

在这里插入图片描述

为什么要讲测试流程?
面试用、熟悉接下来该干的事情、掌握基础知识
在这里插入图片描述

为什么要设计测试用例?

  • 理清思路,避免漏测
  • 提高测试效率
  • 跟进测试进度
  • 告诉领导做过
  • 跟进重复性工作

用例设计:

  1. 功能
  2. 逻辑业务
  3. 异常
  4. 安全

功能用例设计:

  • 功能是否正常
  • 功能是否按照接口文档实现

逻辑用例设计:

  • 是否依赖业务

异常测试用例设计:
参数异常、数据异常
在这里插入图片描述

在这里插入图片描述

安全测试用例设计:

  1. cookie
  2. header
  3. 唯一识别码

第3章 接口测试工具的介绍与使用

在这里插入图片描述
使用接口测试工具的目的?
提高工作效率,保证工作质量
如何选择接口测试工具?

  • 时间
  • 简易成都
  • 业务复杂度
  • 测试人员能力

接口测试工具分类:

  • 抓取接口
  • 测试接口

抓包工具分析与抉择:

  • httpwatch,缺点:只能在IE和Firefox浏览器里面,其它浏览器不支持,看数据比较麻烦(一般不选择)
  • wireshark,wireshark是经过电脑的所有请求它都会去抓取,看数据也比较麻烦
  • fiddler,轻量级,√
  • loadrunner,
  • soapui
  • jmeter
  • postman,√

接口测试工具三剑客:fiddler、postman、python自己开发

1、fiddler
优点:

  • 独立的可以直接抓http请求
  • 小巧,功能完善
  • 快捷,启动就行
  • 代理方便

什么是fiddler?
fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间http通讯,设置断点,查出所有的“进出”fiddler的数据。
fiddler的运用:

  • 查看接口请求方式
  • 查看请求数据、响应数据
  • 接口返回状态
  • 设置代理
  • header、cookie
  • 设置断点
  • 添加筛选
  • fiddler进行接口测试

在这里插入图片描述

从左到右为:GET接口请求类型,接口地址,以?分割数据,参数,=后是数据,多个数据以&分开

2、postman
postman是由谷歌开发的一款接口测试插件
postman的运用:

  • 多接口一起使用
  • 方便回归
  • 提高技能水平

第4章 接口测试工具的简单实践

4.1、python GET接口实战
python GET请求实现方式:

  • 定义接口地址
  • 定义请求数据
  • 整理请求数据
  • 发送数据并获取结果
# -*- coding:utf-8 -*-
#__author__='keira'

import urllib
import urllib2

#定义请求数据,并且对数据进行赋值
url = "http://reg.haibian.com/login/ajax_login"
data = {}
data["loginname"] = 'student08@qq.com'
#需要将111111进行MD5加密,使用加密后的密码
data["password"] = '111111'
#对请求数据进行编码
data = urllib.urlencode(data)
#将数据和url进行连接
request = url+'?'+data
#打开请求,获取对象
requestResponse = urllib2.urlopen(request)
#print(requestResponse) #返回的是对象
#读取服务端返回的数据
ResponseStr = requestResponse.read()
#打印数据
ResponseStr = ResponseStr.decode("unicode_escape")
print(ResponseStr)

4.2、python POST接口实战

#POST接口请求
import urllib
import urllib2

url = "http://xapi.kybyun.com/user/login"
headers = {}
headers = {'Host':'xapi.kybyun.com',
           'Connection':'keep=alive'
           }
data = {}
data["appchg"] = 'Appstore'
data["apptype"] = '21'
data["appver"] = '2.1.3.1'
data["email"] = 'sll01'
#......
#数据编码以及赋值
data = urllib.urlencode(data)
req = urllib2.Request(url,data,headers)
#打开地址,并赋值给变量
ResponseStr = urllib2.urlopen(req)
#读取获得的值
ResponseStr = ResponseStr.read()
#将获得的结果进行转码
ResponseStr = ResponseStr.decode("unicode_escape")
#打印
print(ResponseStr)

5、接口测试之常用协议解析

1、http协议和websocket协议的原理解析
FTP 文件传输协议
SMTP 邮件传输协议
TELNET 终端仿真协议
http 超文本传输协议

协议:一种通讯规则,适用于不同的系统

公有协议:
http :请求——响应
websocket :与浏览器进行主动通信

2、http协议的报文结构
响应头(header)、响应主体(body)、状态行
header与body之间空了一行

3、基于http协议的接口测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值