接口测试入门篇

什么是接口测试

1. 什么是接口

接口包含外部接口,内部接口 内部接口包含上层服务与下层服务,同级服务

2. 为什么要做接口测试?

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

3. 不同接口类型的差异

  • 参数提交方式
  • 请求数据大小
  • 安全性

4. 四种不同接口: get post delete put

get和post的区别:
get的数据写在地址栏,post放在表单中;post请求的数据大小可以很大,get则有限制;post提交的数据更安全。

接口测试流程

1. 用例设计依据:

  • 功能
  • 逻辑业务
  • 异常
  • 安全

2. 为什么要做用例设计:

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

3. 接口测试流程:

  • 需求讨论
  • 需求评审
  • 场景设计
  • 用例设计
  • 数据准备
  • 执行

4. 用例设计-安全测试用例设计

  • cookie

  • header

  • 唯一识别码(移动端)

5. 用例设计-异常测试用例设计
参数异常

  • 关键字参数异常

  • 参数为空

  • 多、少参数

数据异常

  • 关键字数据为null
  • 数据为空
  • 长度不一致(规定长度)
  • 错误数据

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

接口测试工具的重要性
这里写图片描述
接口测试工具分类
这里写图片描述
如何选择接口测试工具

  • 时间
  • 简易程度
  • 业务复杂度
  • 测试员能力

接口测试工具分类

  • 抓取接口
  • 测试接口

接口测试工具的分析与抉择:

  • loadrunner:功能强大,不止只可以进行性能测试(两个函数:request,)
  • fiddler:

请求格式的选择:get、post、delete、put……
请求报文,request header :链接地址

  • soapUI:
  • Jmeter:根据http请求做性能测试。
  • postman:我们需常用的接口测试工具(需要翻墙下载),我们接口测试中的不二选择

接口测试的三剑客:

  • fiddler

  • postman

  • Python自己开发

    为什么要自己开发接口测试程序:

  • 工具没法满足需求时

  • 业务限制

  • 安全性
    这里写图片描述

接口测试工具-分类工具介绍
抓取接口的工具:

  • httpwatch(是IE和firfox的插件,其他浏览器中并不支持,并且查看数据麻烦,不建议使用。)
  • wireshark(通过电脑的所有请求,如http或tcp请求,都会抓取,正因为这样,想要查看某条请求,就比较麻烦,如非必要,不建议使用。)
  • fiddler(是一款轻量级,功能比较其全的抓包工具,也是一个接口测试常用到的工具,建议使用)

接口测试工具-fiddler的运用
1. 什么是fiddler

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



2. fiddler的运用

  • 查看接口请求方式 inspectors - Headers
  • 查看请求数据,响应数据 inspectors -
  • 接口返回状态 session栏 result
  • 设置代理 Tools - Options - Connections
  • header,cookie inspectors - Headers
  • 设置断点 Rules - Automatic Breakpoints - Before Requests/After
    Responses(请求之前/服务端响应之后)
  • 添加筛选 Filters (Use Filters) —-添加需要筛选的网址
  • fiddler进行接口测试 composer

这里写图片描述
接口测试工具-postman的运用
postman能做到的

  • 如何自动反复测试一个需要携带header的post请求,并且对针对线上、测试环境同一个数据进行测试。并对实际结果做比较,以作为测试结果?
    关键字:自动 反复 线上 线下
  • post的headers旁边的body里有内容,get会把数据都放到url中,body不可以点击。
    但是cookie都是在headers里添加的
  • 把接口放到collections里同一个文件夹下,可以批量执行。<箭头之后点击run就可以了
    iteration:迭代次数
  • enviroment:环境
    如何编辑测试环境:右上角的设置按钮,选择manage environment,输入环境名称和url
  • 点击右边的code,可以选择自己熟悉的代码,选择之后,根据选择生成接口测试的代码。
  • 测试:逻辑清晰、表达理解能力强、看懂代码、会写代码、会改代码、我来做。
    这里写图片描述

接口测试工具-python-get接口实战

python简介
一个简单的面向队形脚本语言,语法简洁清晰,易学、易懂,并且拥有强大的第三方扩展库。

python get请求实现方式

  • 定义接口地址。
  • 定义接口数据。
  • 整理请求数据。
  • 发送数据并获取结果。

data[‘password’]是经过md5加密的,要放到md5在线转译工具里转一下。

python接口get接口测试代码

# -*- coding:utf8 -*-

import urllib

import urllib2

#定义url地址

url = *http://reg.haibian.com/login/ajax_login*

#定义请求数据,并对请求数据进行赋值,数据格式采用字典形式进行存取

data = {}

data['loginname'] = '[email protected]'

#password 采用MD5格式进行加密 如111111

data['password'] = '96e79218965eb72c92a549dd5a330112'

#对请求的数据进行编码 encode

data = urllib.urlencode(data)

#将数据和url进行连接,形成get的连接地址和值

request = url+'?'+data

#打开请求,获取对象

requestResponse = urllib2.urlopen(request)

#读取服务器端的返回数据

responseStr = requestResponse.read()

#打印数据,注意要进行解码decode

responseStr = reaponseStr.decode('unicode_escape')

print(responseStr)

接口测试工具-python-post接口实战

import urllib
import urllib2
url="http://xapi.kybyun.com/user/login"
headers={}
headers={

}
data={}
data=['appchg']='AppStore'
...



#数据编码以及赋值
data=urllib.urlencode(data)
req=urllib2.Request(url,data,headers)
#打开地址并且赋值给变量
ResponseStr=urllib2.open(req)
#读取获得得值
ResponseStr=urllib2.urlopen(req)
#读取获得得值
ResponseStr=ResponseStr.read()
#将获得的结果进行转码
ResponseStr=ResponseStr.decode("unicode_escape")
print(ResponseStr)
发布了39 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/xiaoritai7803/article/details/81190747