接口测试基础--Fiddler、Postman、Python实现对接口的测试
写在前面:本文主要的章节规划:

1.什么是接口测试
另外,有的时候会直接调用别的公司的接口,比如银行的、淘宝的、支付宝的,此时也需要做接口测试以及验证数据;
做接口测试的好处:


其中, get和post请求是用的最多的
(截图来自fiddler) 
get和post请求的区别


从表面上看,GET后面跟的数据要比POST请求多很多!而get和post提交的数据哪个更大一些呢?get是通过地址栏来提交数据的,post是通过WebForm以表单的形式提交的,因为地址栏能输入数据的大小是有限制的,所以一般情况下认为post提交的数据更大一些!
get和post哪个更安全?通过WebForm以表单的形式提交数据的post请求更安全
2.接口测试流程

接口测试流程中的重点是什么?
为什么要设计测试用例?




接口测试用例设计的着手点:

1.功能用例设计的测试点:1.功能是否正常;2.功能是否按照接口文档实现
2.逻辑业务用例设计的测试点:1.是否依赖业务(比如“下单”操作要判断是否已经登录成功)
3.异常用例设计的测试点:


(参数异常-3.多参数)
(数据异常-1.关键字数据)
(数据异常-2.数据为空)
4.安全用例设计的测试点:

4.1,cookie在像“下单”这样的逻辑业务中会用到;如此图:
4.2,header特别是在移动端,为了安全考虑,会把header信息加进去;


4.3,唯一识别码,只在测试移动端接口的时候会用到,和header类似,应用会有一个唯一识别码,把手机的唯一识别码发送到服务端作为唯一的验证,如果是冒充的、或者说数据库中不存在,也会给出错误的提示信息;
3.接口测试工具的介绍与使用
3.1,接口测试工具的重要性 3.2,接口测试工具分类
手工测试接口效率很低 工具测试效率高、质量好

选择合适的接口测试工具能提高效率,保证质量;但是没有从实际情况出发,选择使用不当的工具反而会有相反的效果

3.2,接口测试工具分类介绍
3.2.1,抓取接口工具:
httpwatch:集成在firefox和IE浏览器里的一个插件,除非有必要时选择,一般情况下不选择

wireshark:功能比较齐全,比较庞大的工具,无论是http的还是tcp的请求都能抓取到,不推荐使用

fiddler:轻量级的、功能比较齐全,只会记录http请求,可以独自用来完成接口测试

是抓包工具的不二选择,还有其他功能:添加、筛选、切换host,接口测试等;
3.2,测试接口工具:
,其中postman是最常用的;



3.3,fiddler的运用
fiddler的优点:


什么是fiddler?
fiddler是一个http协议代理调试工具,它能够记录并检查所有你的电脑和互联网之间的http通讯、设置断点,检查所有“进出”fiddler的数据;
fiddler的工作原理:fiddler在电脑端设置代理,电脑发出的所有http请求都会经过这个代理,代理收到http请求之后再把收到的http请求发给服务器,服务器接受到http请求后进行处理并把处理后得到的数据返回给fiddler,fiddler把数据再返回给电脑端;

fiddler的布局:

fiddler的运用:
1.查看接口请求方式:
;2.查看请求数据、响应数据:
3.接口返回状态:
(200代表返回成功,还有其他的状态如:500、404、504等等);4.设置代理(测试移动端接口的时候需要通过“代理”来抓取):Tools->Teleriik Fiddler Options
然后再移动端继续做个设置;5.header、cookie:
;
6.设置断点:
;7.添加筛选:
;
8.fiddler进行接口测试;
3.4,postman的运用
postman是有google开发的接口测试插件

collections中的收藏的文件夹中的请求可以批量执行




3.5,python--get接口实战


3.5,python--post接口实战


4.掌握接口测试基础后,下一步的学习目标是什么?

(如果线上接口出现问题,会自动发送邮件或短信来告诉开发、测试)
接口测试基础--Fiddler、Postman、Python实现对接口的测试的更多相关文章
- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda
---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...
- Python爬虫之使用Fiddler+Postman+Python的requests模块爬取各国国旗
介绍 本篇博客将会介绍一个Python爬虫,用来爬取各个国家的国旗,主要的目标是为了展示如何在Python的requests模块中使用POST方法来爬取网页内容. 为了知道POST方法所需要传 ...
- 接口测试基础——fiddler抓包常见问题
fiddler抓包工作原理: 以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,过程如下:web代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据 ...
- 使用python+requests对接口进行测试
import unittestimport requestsimport json class Login(unittest.TestCase): def setUp(self): self.base ...
- 接口测试基础(fiddler、postman的使用、python实现测试接口程序)
写在前面:本文主要的章节规划: 1.什么是接口测试 另外,有的时候会直接调用别的公司的接口,比如银行的.淘宝的.支付宝的,此时也需要做接口测试以及验证数据: 做接口测试的好处: 其中, ...
- python - 接口自动化 - 接口测试基础知识
# -*- coding:utf-8 -*- '''@project: jiaxy@author: Jimmy@file: study_接口测试基础知识一.py@ide: PyCharm Commun ...
- python+pytest接口自动化(1)-接口测试基础
接口定义 一般我们所说的接口即API,那什么又是API呢,百度给的定义如下: API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数.H ...
- API测试-接口测试基础(1)
由于自己想学习API方面的测试,但是市面上搜不到相关的图书可以系统学习,网上的内容又零零散散,适合有点API开发基础的人去搜索.为了方面新手学习API测试,现在整理了他人的宝贵经验和自己的学习心得,尽 ...
- Python接口测试实战2 - 使用Python发送请求
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
随机推荐
- javascript 代替jqueryeach写法
javascript 代替jqueryeach写法 // 通过字面量方式实现的函数each var each = function(object, callback){ var type = (fun ...
- 编译原理 #04# 中缀表达式转化为四元式(JavaScript实现)
// 实验存档 运行截图: 代码中的总体转化流程:中缀表达式字符串→tokens→逆波兰tokens(即后缀表达式)→四元式. 由后缀表达式写出四元式非常容易,比较繁琐的地方在于中缀转逆波兰,这里采用 ...
- JAVA集合框架(一)-综述
目录 什么是java集合框架 使用类型安全的容器 集合框架简图 集合类库主要接口简述 Collection接口方法概览 什么是java集合框架 其实就是java类库提供的一套相当完整的各种数据结构的实 ...
- 关于 Sublime Text 3 中 input 无法输入的问题
在新装的 Sublime Text 3 中,Ctrl + B 运行时会发现无法正常输入,我记录了一下我的解决方法. 相关原文可参照 https://blog.csdn.net/weixin_42116 ...
- C/C++ 中的宏/Macro
宏(Macro)本质上就是代码片段,通过别名来使用.在编译前的预处理中,宏会被替换为真实所指代的代码片段,即下图中 Preprocessor 处理的部分. C/C++ 代码编译过程 - 图片来自 nt ...
- ef实现一次查询多个聚合函数的字段
想用ef来写一个统计字段的语句,如下所示 select sum(price) as price_total, sum(amount) as amount_total from table1 发现似乎实 ...
- SpringBoot启动项目时提示:Error:java: 读取***.jar时出错;
场景 在IDEA中新建SpringBoot项目后,修改了默认的Maven仓库和配置文件,然后在启动项目时提示: Error:java: 读取\org\assertj\assertj-core\3.11 ...
- git clone克隆项目太慢,或者直接导致克不下来的解决办法(转载请注明出处)
从github下载项目下来,由于项目提交历史过多等各种原因导致文件太大,clone的时候非常的慢,或者直接出现 error: RPC failed; curl 18 transfer closed w ...
- 【React Native】在原生和React Native间通信(RN调用原生)
一.从React Native中调用原生方法(原生模块) 原生模块是JS中也可以使用的Objective-C类.一般来说这样的每一个模块的实例都是在每一次通过JS bridge通信时创建的.他们可以导 ...
- 解决vue修改路由的查询字符串(query)url不改变,页面不刷新问题
我个人猜测可能是对路由的数据检测深度不够吧,单纯修改query里面的属性是不能触发数据驱动的,因此要直接给query赋值新的对象才能驱动数据更新,做法如下 第一种 var query=JSON.par ...