接口测试基础(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下单 接口测 ...
随机推荐
- JAR包介绍大全用途作用详解JAVA
jta.jar 标准JTA API必要commons-collections.jar 集合类 必要antlr.jar ANother Tool for Language Recognition 必要 ...
- 5分钟把任意网站变成桌面软件--windows版
本文源自于segmentfault的一篇专栏文章:https://segmentfault.com/a/1190000012924855 只不过这篇是MAC版本的,所以我试了下windows版的: ...
- eclipse导入项目之后有感叹号
说明项目的编译过程报错.导致原因:项目引入后,需要重新配置jar包路径. 1.右击你的项目-->Build Path-->Configure Build Path.... 2.在弹出的对话 ...
- js中this详解
this对象是在闭包一节中提到的,书上的原话是:"this对象是在运行时基于函数的执行环境绑定的,在全局函数中,this等于window,而当函数作为某个对象的方法调用时,this等于那个对 ...
- Java接口和抽象类的理解
接口和抽象类的相同之处就是 都会有抽象方法 抽象方法就是一个没有方法体 等待继承的子类完成的方法 然而接口比较严格 它的方法必须是抽象方法且是公开的 抽象类 可以有自己的属性 和 实体方法 首相用面向 ...
- 关于word图片显示不全
问题:在编辑word时,在其中一行插入一张图片,但是显示不全. 原因:给文字行距设置成 [ 固定值 ]的原因. 解决方案:先删除图片,在插入图片的一行右键--> 段落,弹出对话框,找到设置行距的 ...
- 忽略node.js服务中favicon.icon的请求
场景 一个最简单的node.js的http服务 const http = require('http'); const server = http.createServer(function(req, ...
- 01_Linux软件源配置
一.国内软件源 阿里源:https://mirrors.aliyun.com/ 清华大学:https://mirrors.tuna.tsinghua.edu.cn/ 中科大 : https://mir ...
- Redis .Net 基本类型使用之南
前言 最近需要使用redis,看了一些文档,也在博客园里面看了很多文章,这里就记录下Redis常用类型的操作. String string是redis基本类型,一般通过Get,Set 命令进行操作,这 ...
- java web 获取客户端操作系统信息
package com.java.basic.pattern; import java.util.regex.Matcher; import java.util.regex.Pattern; /** ...