接口测试基础入门

本文详细介绍了接口测试的流程,包括功能验证、逻辑业务和安全检查等方面。同时,讨论了如何根据简易程度、业务复杂度等因素选择合适的接口测试工具,并列举了如Fiddler、Postman等工具的使用方法。此外,还分享了Python进行接口测试的GET和POST请求示例,为实际操作提供了参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 接口测试流程
  1. 用例设计
  • 功能
  1. 功能是否正常
  2. 功能是否按照接口文档实现
  • 逻辑业务
    是否依赖业务
  • 异常
    异常测试主要有
    (1). 参数异常
    关键字参数;参数为空; 多、少参数;错误参数
    (2). 数据异常
    关键字数据;数据为空;长度不一致;错误数据
  • 安全
  1. cookie:逻辑依赖业务会用到
  2. header:移动端会用到
  3. 唯一识别码:移动端会用到
2. 如何选择接口测试工具
  1. 时间 2. 简易程度 3. 业务复杂度 4. 测试员能力
3. 接口测试工具分类
  1. 抓取接口工具 (抓包工具分析与抉择)
    httpwatch:集成在ie浏览器和firefox浏览器的插件,其他浏览器不支持,看数据比较麻烦
    wireshark:经过电脑的所有请求,它都会去抓取http请求,ftp等所有请求,看数据也比较麻烦
    fiddler:只会抓取http请求,可进行接口测试(我们经常会用到的,它还有其他功能)
  2. 测试接口工具
  • loadrunner:性能测试工具,也可进行接口测试(把接口以http请求的格式放到loadrunner里)
  • fiddler:
  • soapui:可做接口,也可做自动化。
  • Jmeter:是一个性能测试工具
  • postman:最常用的
4. 接口测试工具三剑客
  1. Fiddler:
    查看接口请求方式;
    查看请求数据,响应数据;
    接口返回状态;
    设置代理方式:tools->fiddler options->connections->port:8888,最后三个选项勾选;
    header、cookie:inspectors->headers:里边有header和cookie;
    设置断点:rules->automatic&breakpoints->before request && after response;
    添加筛选:filters->在接口地址栏中添加筛选的地址;
    fiddler进行接口测试:composer->选择接口请求方式,填好请求地址和请求数据。
  2. postman
    postman可以自动,反复,线上,线下,同一个数据,作比较。
  3. 自己开发
  • python get请求方式
    3.1.1 定义接口地址
    3.1.2 定义请求数据
    3.1.3 整理请求数据
    3.1.4发送数据并获取结果
    代码:
# -*- coding:utf8 -*-
import urllib
import urllib2
url = "http://reg.haibian.com/login/ajax_login"
# 定义请求数据,并且对数据进行赋值
data = {}
data['loginname'] = 'student08@qq.com'
data['password'] = '111111'
# 对请求数据进行编码
data = urllib.urlencode(data)
# 将数据和url进行连接
request = url + '?' + data
# 打开请求,获取对象
requestResponse = urllib2.urlopen(request)
# 读取服务器端返回的数据
ResponseStr = requestResponse.read()
# 打印数据
ResponseStr = ResponseStr.decode("unicode_escape")
print(ResponseStr)
  • python post请求方式
# -*- coding:utf8 -*-
import urllib
import utllib2
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'] = 'mushishi01'
data['isbind'] = '0'
data['password'] = '111111'
data['sysdev'] = 'iPhone 6 Plus'

# 数据格式编码
data = urllib.urlencode(data)

# 直接发送地址和数据
req = urllib2.Request(url, data, headers)
# 打开变量地址,并且赋值给变量
ResponseStr = urllib2.openurl(req)
# 读取获得的值
ResponseStr = ResponseStr.read()
# 将获得的结果进行转码
ResponseStr = ResponseStr.decode("unicode_escape")
print(Response


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值