接口测试基础(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编写接口测试脚本,希望对看到本篇的人有所帮助。
接口测试基础(fiddler、postman的使用、python实现测试接口程序)的更多相关文章
- 接口测试基础--Fiddler、Postman、Python实现对接口的测试
写在前面:本文主要的章节规划: 1.什么是接口测试 另外,有的时候会直接调用别的公司的接口,比如银行的.淘宝的.支付宝的,此时也需要做接口测试以及验证数据: 做接口测试的好处: 其中, ...
- Python使用Flask实现RESTful API,使用Postman工具、requests库测试接口
RESTful是一种API设计规范.在RESTful架构中,主要使用POST,DELETE,PUT和GET四种HTTP请求方式分别对指定的URL资源进行增删改查操作. RESTful之前的做法: /u ...
- 接口测试基础——fiddler抓包常见问题
fiddler抓包工作原理: 以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,过程如下:web代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据 ...
- 【原创】python多线程测试接口性能
除了使用性能测试工具进行性能测试,我们也可以直接用python多线程进行性能测试. 下面,使用这几个模块,对一个查询接口做性能测试: requests:发送http请求 json:返回的字符串转换成j ...
- python写测试接口
https://www.cnblogs.com/liuyl-2017/p/7815950.html
- 用python脚本测试接口
自己写一个脚本,统计调用200次接口的请求时长. # -*- coding=utf-8 -*-import osimport requestsimport time url = "http: ...
- API测试-接口测试基础(1)
由于自己想学习API方面的测试,但是市面上搜不到相关的图书可以系统学习,网上的内容又零零散散,适合有点API开发基础的人去搜索.为了方面新手学习API测试,现在整理了他人的宝贵经验和自己的学习心得,尽 ...
- python - 接口自动化 - 接口测试基础知识
# -*- coding:utf-8 -*- '''@project: jiaxy@author: Jimmy@file: study_接口测试基础知识一.py@ide: PyCharm Commun ...
- 接口测试原理及Postman详解
接口测试定义 接口是前后端沟通的桥梁,是数据传输的通道,包括外部接口.内部接口.内部接口又包括:上层服务与下层服务接口,同级接口 生活中常见接口:电脑上的键盘.USB接口,电梯按钮,KFC下单 接口测 ...
随机推荐
- Java常用的框架
一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 Spring Web MVC是一种基于Java的实现了Web MV ...
- isinstance和issubclass、动态模块导入、异常处理
一.isinstance和issubclass isinstance:判断某个对象是否是某个类的实例,返回True或Flase issubclass:判断某个类是否是某个类的子类. 例如: class ...
- JavaScript URL传值过程中遇到的问题及知识点总结
JavaScript URL传值过程中遇到的问题及知识点总结 Web系统开发过程中经常用到URL进行传值,刚刚接触时不太会解析,会出现中文乱码问题等. 1.父子页面之间的传值(在一个页面中以加载ifr ...
- Hystrix-异常处理
异常的传播和捕获 传播:在HystrixCommand实现的run()方法中跑出异常时,除了HystrixBadRequestException之外,其他异常均会被Hystrix认为命令执行失败并处罚 ...
- java8大基本数据类型
基本类型 字节数 位数 最大值 最小值 byte 1byte 8bit 2^7 - 1 -2^7 short 2byte 16bit 2^15 - 1 -2^15 int 4byte 32bit 2^ ...
- linkin大话java
青春不灭,理想犹存,linkin--勿忘初心! 不知不觉已经和java并肩作战将近了2年,在这2年之中模模糊糊研究了java2ee领域的好多东西,但是都没有做系统的整理.以前写的笔记也是零零散散不成一 ...
- 错误:java.lang.NoClassDefFoundError: com/project/common/exception/ServiceException 的解决
问题: 项目编译通过,启动报错误信息java.lang.NoClassDefFoundError: com/project/common/exception/ServiceException. 解决方 ...
- JDBC(四)
1 Apache DBUtils框架 1.1 DBUtils简介 commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本非常低,并且使用db ...
- javascript中的Date对象和Math对象
1.Date对象 1.创建Date对象 var time1=new Date() 方法1:不指定参数 var time1=new Date(); alert(time1.toLocaleString( ...
- iOS-电子书开发 笔记
前言 刚接手电子书项目时,和安卓开发者pt Cai老师[aipiti Cai,一个我很敬佩很资深的开发工程师,设计领域:c++.Java.安卓.QT等]共同商议了一下,因为项目要做要同步,移动端[手机 ...