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