一:接口测试介绍

  接口测试:就是针对软件对外提供服务的接口输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能和接口描述文档的一致性。

  接口测试好处:接口测试通常能对系统测试的更为彻底,更高的保障产品质量,同时越早的发现底层问题,修改和维护的代价也越小。

  怎样做接口测试:接口测试时主要通过工具或代码模拟http请求的发送与接收。工具如:postman、jemter、java+httpclient等。也可以用接口自动化来实现,就是用代码实现,框架和UI自动化差不多,发送请求用断言来判断。

  接口测试流程:1.获取接口信息:通过接口文档和抓包来获取接口的基本调用方式和返回;2.接口测试用例设计:根据获取到的接口信息,按照接口测试用例设计方法设计参数和预期返回结果;3.接口发包:用工具或者编程向接口传递参数;4:返回信息验证:获取接口返回的结果,进行解析和验证。

  接口测试请求信息4大关注点:1.请求URL地址;2.Method方法;3.请求头域(Request Headers);4.请求参数(抓取信息中Query String Parameters对应Postman中Request Body)。

  

二:Postman get接口测试流程(以百度ip接口为例)

  1.抓取百度ip接口信息,复制url地址等。

   

  2.打开Postman,新建一个request(两种方式,刚开始打开的时候直接选择Requset或者打开Postman后直接选择+号),选择get方法,填写url(复制url后发现会自动填充url栏下面的Params参数项)等,发送请求,查看结果,经过多次测试发现ip接口中两个参数(query、resource_id)必备,其余参数可有可无。

  

  3.对于百度ip接口,多试几条测试用例,与预期的结果做对比,发现两个必备的参数少了一个,会报参数错误,在ip前面多加一个.依然正确。

  

  4.测试结束后可以保存到创建的测试集中,也可以将结果导出,导出的格式是json格式,可以将文件分享给同事朋友让他们使用Postman也进行文件导入。

  

  

三:Postman get接口头域操作

  上面百度ip接口,发现不需要Headers信息,填了Referer也不会报错,但是有些接口缺少头域信息就会报错,得不到预期结果。在这里举例腾讯课堂评论接口,由于没有相关接口文档,就参考别的讲师测试的最后结果。

  Referer介绍:正确英语拼法是referrer。由于早期HTTP规范的拼写错误,为了保持向后兼容就将错就错了。Referer  是 HTTP  请求header的一部分,当浏览器(或者模拟浏览器行为)向web服务器发送请求的时候,头信息里有包含 Referer。

  Referer的作用:1.防止盗链;2.防止恶意请求。

  

四:Postman请求面板详解

  1.Postman Request四大要素

  

  

  对于Request Body选项解释如下:

  form-data:对应于Content-type的multipart/form-data类型,即可以发送键值对也可以进行文件参数传递,对于文件传递每次发送请求需要重新传入不保存文件信息,键值对不写入url,而是直接提交。

  x-www-from-urlencoded:对应于抓包信息中Content-type头域为x-www-form-urlencoded的类型,是以键值对的形式发送的表单参数,同时参数会携带在url中。

  raw:选中对可以使用请求体原始格式编辑各Content-type类型对应的参数格式,直接按请求体的格式来进行内容发送。

  binary:可以上传二进制文件内容。一次只能上传一个文件,也不能保存文件。

  2.Postman Response相应信息

  

Postman系列二:Postman中get接口实战讲解(接口测试介绍,接口测试流程,头域操作)的更多相关文章

  1. ETL利器Kettle实战应用解析系列二 【应用场景和实战DEMO下载】

    本文主要阅读目录如下: 1.应用场景 2.DEMO实战 3.DEMO下载 1.应用场景 这里简单概括一下几种具体的应用场景,按网络环境划分主要包括: 表视图模式:这种情况我们经常遇到,就是在同一网络环 ...

  2. java中多线程中Runnable接口和Thread类介绍

    java中的线程时通过调用操作系统底层的线程来实现线程的功能的. 先看如下代码,并写出输出结果. // 请问输出结果是什么? public static void main(String[] args ...

  3. javaScript系列:js中获取时间new Date()详细介绍

    var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1970-????)m ...

  4. ETL利器Kettle实战应用解析系列二

    本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析系列二 [应用场景和实战DEMO下载] 三.ETL利器Kettle ...

  5. postman系列之批量执行接口测试用例

    postman如何批量执行接口测试用例~其实很简单,但是会给我们的工作带来很多方便~ 比如我们写了几十个测试用例,请求都是同一个服务器IP,一旦服务器IP地址从测试环境搬到线上环境,需要修改所有的服务 ...

  6. [CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口(转)

    转自:[CXF REST标准实战系列] 二.Spring4.0 整合 CXF3.0,实现测试接口 文章Points: 1.介绍RESTful架构风格 2.Spring配置CXF 3.三层初设计,实现W ...

  7. 单元测试系列之二:Mock工具Jmockit实战

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6760272.html Mock工具Jm ...

  8. JAVA工具系列之——Postman

    1 概述 Postman是一款测试rest接口的工具,可以实现前端未实施的情况下,后端同步开发.本文从部署到运用进行展开描写. 2 部署 第一步:进入Postman官网下载最新版本,下载链接 第二步: ...

  9. WCF开发实战系列二:使用IIS发布WCF服务

    WCF开发实战系列二:使用IIS发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS200 ...

  10. 老铁,告别postman,用pycharm来调接口,顺便把接口脚本也写了

    最近,一位同事在用postman调涉及到依赖的接口的时候 postman设置了环境变量,但是老是获取不到依赖接口返回的值,至于的啥原因呢,@#¥%……&*()! 其实,用pycharm一样可以 ...

随机推荐

  1. java中观察者模式Observable和Observer

    25.java中观察者模式Observable和Observer 如果想要实现观察者模式,则必须依靠java.util包中提供的Observable类和Observer接口 观察者设计模式 现在很多的 ...

  2. Python核心编程练习题笔记: type(a)==type(b) 和 type(a) is type(b)的差别

    前式需要找到类型的ID(相当于门牌号),然后“敲门”取得类型值 后式只需要找到类型的ID,而不需要再去“敲门”获得类型具体值.在一个“门牌号”内只可能有一个值,因此就不用明知故问了.因此后式比前式少了 ...

  3. Java swing项目-图书管理系统(swing+mysql+jdbc) 总结

    (一)java Swing的学习. (1)学习如何安装windowbuilder插件的安装. <1>在eclipse中点击help <2>在help的下拉选中选择install ...

  4. CentOS上搭建Nginx + Mono 运行 asp.net

    安装步骤: 一.获取开源相关程序: 1.利用CentOS Linux系统自带的yum命令安装.升级所需的程序库: sudo -sLANG=Cyum -y install gcc gcc-c++ aut ...

  5. HDU 3686 Traffic Real Time Query System(双连通分量缩点+LCA)(2010 Asia Hangzhou Regional Contest)

    Problem Description City C is really a nightmare of all drivers for its traffic jams. To solve the t ...

  6. ASP.NET 数据绑定常用代码及其性能分析

    用DataBinder.eval 绑定不必关心数据来源(Dataread或dataset).不必关心数据的类型eval会把这个数据对象转换为一个字符串.在底层绑定做了很多工作,使用了反射性能.正因为使 ...

  7. response.setContentType与 request.setCharacterEncoding 区别

    1.request.setCharacterEncoding()是设置从request中取得的值或从数据库中取出的值的编码 2.response.setContentType指定 HTTP 响应的编码 ...

  8. NGINX+PHP配置

    NGINX做为WEB服务器,运行PHP开发的程序和页面: server { listen 80; listen 443 ssl; ssl_certificate /usr/local/nginx/co ...

  9. 一键搭建LNMP脚本

    还有不足的地方,请谅解   2天时间刚做到安装mysql这里.... # [root@localhost ~]# cat /etc/centos-release # CentOS release 6. ...

  10. Codeforces 526D Om Nom and Necklace (KMP)

    http://codeforces.com/problemset/problem/526/D 题意 给定一个串 T,对它的每一个前缀能否写成 A+B+A+B+...+B+A+B+A+B+...+B+A ...