最近项目需要接口测试,所以选择了不少工具对比,最终决定使用postman进行接口测试,这个工具目前使用比较简单,但是有点还是比较多的,如下:

  1. 方便切换不同的环境进行接口测试工作,而不用修改变量或代码
  2. 可以在浏览器中直接只用插件(目前谷歌系统插件已经不更新了)
  3. 可以和newman和jenkins集成进行自动化构建,比较方便

安装

安装方法一:插件安装

直接通过chrome插件进行安装,简单快捷(推荐此方法),前提是必须翻墙,这里推荐使用谷歌访问助手进行翻墙,下载postman插件进行安装。

谷歌访问助手下载地址:见百度网盘地址:链接: https://pan.baidu.com/s/1o8eJiSM 密码: hek2,将使用的谷歌插件和postman插件下载至本地之后,安装谷歌插件和postman插件。

  1. 插件安装说明直接将插件拖至谷歌浏览器的扩展程序中即可完成安装,如图



  2. 安装完成之后,在谷歌中打开新的标签页,点击应用,如图



3. 在打开的应用页面中,点击postman即可打开应用,如图



安装方法二:下载的exe文件直接安装

使用

Postman界面介绍

接下来,简单介绍下每个功能区都能做些什么事:

快捷区: 快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据,导入收藏夹测试数据,或环境配置数据。

设置区: 软件的常用设置(主题设置、快捷键设置等),以及导出环境数据。

侧边栏: 主要是 Request 请求的历史记录,和收藏夹管理。

搜索栏: 输入关键字,可以搜索 Request 历史、收藏夹、收藏夹内的请求。

功能区: Request 请求设置,查看 Response 响应结果和测试结果。

参考 http://blog.csdn.net/water_0815/article/details/53263643

Postman功能

  • 主要用于模拟网络请求包
  • 快速创建请求
  • 回放、管理请求
  • 快速设置网络代理

https://www.getpostman.com/features

Post请求:

这里我们先看一下接口的需求文档,如图

页面访问请求 http://192.168.1.6/Api/request/createSession

  1. 在地址栏中输入请求的url:http://192.168.1.6/Api/request/createSession
  2. 选择请求方式:post请求
  3. 点击”application/x-www-form-urlencoded”,
  4. 添加key和value信息,如图

环境设置

postman中可以设置多种不同环境,方便collections切换在不同的环境中运行而不用再次修改接口信息,如图:



图中显示的客户环境和测试环境就是配置的2种环境信息;

环境的设置操作

在上图显示的界面中,点击” 设置”按钮--manage environments,打开环境设置界面,如图所示

在环境界面中添加环境信息,之后点击Add即可完成环境的配置。

环境中存在两种变量,一种是环境变量,相当于局部变量;另外一种是全局变量(globals)。

环境变量:

当使用API的时候,你可能经常需要使用不同的设置。环境设置可以让你使用变量自定义request。这个方法可以让你轻松的在不同的设置之间改变而不用改变你的request。你不需要担心要记住Postman中所有的这些变量的值。环境可以下载保存为JSON文件,以后可以再加载他。

参考http://www.jianshu.com/p/bffbc79b43f6

  1. 环境变量的设置

第一种方法:在具体的环境中,设置该环境的key和value值,如图

第二种方法:直接在代码中设置变量

可以在postman主页面中的pre-request Script中设置环境变量

设置环境变量:

postman. setEnvironmentVariable (“key”, “value”);
environment.key= " value ";

环境变量可以使用在以下地方

  • URL
  • URL params
  • Header values
  • form-data/url-encoded values
  • Raw body content
  • Helper fields

在你要使用的变量名上附上双花括号。

全局变量:

全局变量提供了一组总是有效的变量。你可以有很多环境变量,但是同一时间只能有一组有效。但是你可以像使用环境变量一样使用全局变量。

  1. 全局变量设置

    和环境变量一样,第一种可以在环境设置中添加全局变量,如图

点击globals按钮,打开全局变量添加页面,参考环境变量设置进行操作。

第二种方法:

可以在postman主页面中的pre-request Script中设置全局变量

设置全局变量:

postman. setGlobalVariable (“key”, “value”);

说明

当全局变量和环境变量出现同样的key时,环境变量会覆盖全局变量的key值

读取变量

  1. 在接口信息中,可以使用{{key}}来获取变量信息,如图

  1. pre-request Script读取变量:

    getEnvironmentVariable ("key");//获取key的环境变量

    getGlobalVariable(“key”);//获取key的全局变量

断言(部分)

// 推荐用全等 ===,确保类型和值都一致
tests['Status code is 200'] = responseCode.code === 200; //判断响应结果是否是200
// 判断是否存在 'code' 值
tests["Body matches code"] = responseBody.has("NON001"); var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("sessionId",jsonData.result);//响应结果中的result保存为sessionId的值 tests[`[INFO] Request params: ${JSON.stringify(request.data)}`] = true;//打印request的请求信息 tests["have code "]=jsonData.hasOwnProperty("code")===true;//断言响应结果中是否存在code
tests[`[INFO] Response timeout: ${responseTime}`] = responseTime < 6000;//断言响应时间

collections

可以将编写的接口用例加入collections,便于执行runner操作;加入界面如图

Runner

在postman主页面中,点击runner,打开运行界面,



在runner页面中,左侧显示的是历史运行结果,中间是需要进行测试的接口用例信息,其中Environment显示的是需要进行的环境设置,而Iteration是需要进行迭代的次数;而右侧显示的是运行接口用例详情。

其他操作

  1. 接口用例在浏览器中展示操作

    在postman界面中,点击” 向左的箭头 ”按钮,右侧显示的界面中,view in web操作可以在浏览器中展示接口用例信息;run可以运行需要进行测试的接口用例信息;

    导出操作
  2. 在postman界面中,点击“...” 打开的页面中,

Edit可以编辑Collections的描述信息

Rename重命名collections

Add Folder添加文件夹

Duplicate 复制collections

Export 导出collections

如图所示

以上就是postman接口测试基本使用方法总结,接口测试用例的基本测试点如图所示

#postman接口测试系列:基本操作总结的更多相关文章

  1. postman接口测试系列: 时间戳和加密

    在使用postman进行接口测试的时候,对于有些接口字段需要时间戳加密,这个时候我们就遇到2个问题,其一是接口中的时间戳如何得到?其二就是对于现在常用的md5加密操作如何在postman中使用代码实现 ...

  2. postman接口测试系列:环境配置

      最近忙着项目接口测试,经过不同工具的对比,发现postman使用起来挺顺手的,所以马上决定使用这个工具进行接口测试工作.刚开始的时候,了解了下接口测试的相关信息,直接着手编写接口测试的测试用例信息 ...

  3. postman接口测试系列:接口参数化和参数的传递

    接着上一个章节时间戳和加密继续,上一节中我们使用Pre-Request Script可以正确获取时间戳和加密后的数据,接口响应结果也达到了预期目标.这里先简单说明一下接口的用例设计的测试点,截图所示 ...

  4. Postman接口测试初探

    Postman接口测试 有两种安装方式: 1)Chrome插件(https://www.getpostman.com/).安装完成后,它会在chrome的应用中,如下图 2)通过下载Native ap ...

  5. postman接口测试工具3.0版本的坑

    今天用postman接口测试工具3.0版本被坑,找了半天,原来postman这个新版本有个坑啊 下面的get参数,第一行不管你填不填,都是无效的,可能是postman的一个bug吧

  6. postman(九):postman接口测试脚本集成到jenkins

    本篇的目的是实现使用jenkins远程执行postman接口测试脚本 准备工作:一台linux服务器(可以用虚拟机搭建一个),linux服务器上安装好node.js.newman,部署好jenkins ...

  7. Postman 接口测试神器

    Postman 接口测试神器 Postman 是一个接口测试和 http 请求的神器,非常好用. 官方 github 地址: https://github.com/postmanlabs Postma ...

  8. [原创]PostMan接口测试神器

    [原创]PostMan接口测试神器 1 PostMan是什么?  Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 2 Postman工具下载及安装 官方网站: htt ...

  9. Postman Postman接口测试工具使用简介

    Postman接口测试工具使用简介 by:授客 QQ:1033553122 本文主要是对Postman这个接口测试工具的使用做个简单的介绍,仅供参考. 插件安装 1)下载并安装chrome浏览器 2) ...

随机推荐

  1. python celery 时区&结果(性能)的坑

    本文主要介绍最近使用celery遇到的两个坑.关于时区,以及是否保留结果(celery使用rabbitmq). 先说结论:定时任务记得配置时区:丢弃结果对使用rabbitmq对celery来说,性能提 ...

  2. Opencv怎么读入,显示,保存图像-OpenCV步步精深

    怎么读入图像呢? 我们用 img = cv2.imread('图像路径\原图像名称',0) 原图像名称要有后缀 .png , .jpg等等原图像带有的后缀. 这里我们着重说明一下图像路径,这个路径一定 ...

  3. SAP的 消息 弹出窗口(备忘)

    DATA: i_smesg TYPE tsmesg WITH HEADER LINE. i_smesg-msgty = 'E'. i_smesg-arbgb = '. i_smesg-txtnr = ...

  4. Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统

    前言 我们知道HDFS集群中,所有的文件都是存放在DN的数据块中的.那我们该怎么去查看数据块的相关属性的呢?这就是我今天分享的内容了 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 我 ...

  5. [Linux 使用(2)] 64位Linux下安装jboss-as-7.1 以及jdk1.7

    一.软件的下载 jdk下载地址:    http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.h ...

  6. LeetCode 33. Search in Rotated Sorted Array(在旋转有序序列中搜索)

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...

  7. H5前端上传文件的几个解决方案

    目前,几个项目中用到了不同的方法,总结一下分享出来. 第一种,通过FormData来实现. 首先,添加input控件file. <input type="file" name ...

  8. 01-从零玩转JavaWeb-面向过程与面向对象

    配套视频讲解:面向过程面向对象 一.面向过程 所有事情都按顺序一件一件来执行.   二.面向对象 面向对象是将功能通过对象也实现,将功能封装进对象之中 让对象去实现具体的细节   三.面向对象的目的 ...

  9. 03-从零玩转JavaWeb-创建类与对象

    创建类创建对象 一.什么是成员变量 对象的一些状态特征使用成员变量表示   二.行为什么什么表示 对象的 行为 使用 方法 表示   三.如何创建对象 class 类名{0 ~ N个成员变量0 ~ N ...

  10. url 地址处理(截取,参数等)

    function hrefObj() { var localhref = window.location.href; var localarr = localhref.split('?')[1].sp ...