基于postman实现http接口测试过程解析

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。

HTTP的接口测试工具有很多,可以进行http请求的方式也有很多,但是可以直接拿来就用,而且功能还支持的不错的,我使用过的来讲,还是postman比较上手。

优点:

1、支持用例管理

2、支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能

3、支持批量运行

4、支持用例导出、导入

5、支持云端保存用例【付费用户】

可以说POSTMAN满足了HTTP接口测试的大部分功能,只有少部分的功能不被支持,比如:请求流程的控制;前面说了这么多,接下来我们就看看POSTMAN的安装与使用吧。

1、什么是POSTMAN

POSTMAN是一个Chrome的一个插件工具,我们可以通过Chrome的应用商店进行搜索并安装,安装完成会在桌面上显示一个postman的图标,每次点击这个图标就可以启动POSTNA的界面。

启动过后就是上面的界面了,左边是用来管理用例的目录结构,右边是具体某个用例的请求内容的参数及响应内容;默认的postman会自带一个demo的项目叫“POSTMAN Echo”,里面有各种场景的用例demo,对于新上手的同学可以通过查看这些demo用例来学习如何使用POSTMAN。

2、新建一个项目

直接点击左边栏上面的添加目录图标来新增一个根目录,这样就等于新建了一个项目,我们可以把一个项目或一个模块的用例都存放在这个目录之下,并且在根目录之下我们还可以在建立子目录来进行功能用例的细分,具体见下图。

2、新增一个用例

创建了项目目录后我们就可以新建用例了,具体是点击右侧区域的+号来新增一个空用例的模板,也可以通过复制一个已有用例来达到新建一个用例的目的,2种方法见下:

3、添加请求信息

新建的用例请求内容为空,我们需要添加相应的请求信息,这部分的操作都在右侧的信息区域,一般流程如下:

  • 选择一个请求方法,如:get或post
  • 填写请求的url,如:http://www.baidu.com
  • 如果是get则请求参数直接写在url后,用?连接
  • 如果是post则请求添加在body中
  • 点击“send”发送请求
  • 查看请求响应内容

 4、post请求参数

post请求的主要的特点是把请求数据放在body中,而非url后

上面的样例是post方式传输普通参数,如果我们需要发送带文件的请求时,就要改下请求格式了,具体如下:

注意上面标红框的内容,都是必须要对应上。

5、添加头信息

有些时候请求时还需要一些特定的头信息,postman同样可以完美的支持,直接点击Headers标签就可以进行请求头的信息设置

6、预处理和结果检查

预处理主要是对一些环境变量之类的进行设置,相当于数据初始化;如图:

响应处理就是对响应结果进行分析和验证,比如检查code是不是200,内容是不是等于具体某个值,是否包含特定的值等等。

因为预处理和结果检查都是使用js作为脚本语言,所以你还可以进行任意的js可以实现的场景,来辅助测试。

7、全局变量与环境变量

全局变量我们可以自己在预处理和结果处理2个脚本环境里进行赋值,在具体的测试数据里我们就可以直接使用,具体的使用方法是为:{{variable_key}};比如你在脚本中可以设置全局变量:

postman.setGlobalVariable("username", "tester");

那么在用例数据项里面我就可以这样使用,{{username}},用来代表具体的tester值,具体见下图

而环境变量的设置可使用与全局变量基本一样,只是环境变量我们还有另外一个入口可以进行设置,那就是环境配置管理中,我们可以预先建立若干和与环境相关的一套变量,根据实际的测试需求在执行前选择对应的环境变量模板,这样可以快速切换测试服务器与线上服务器之前的环境差异。比如:配置2套环境变量模板,一套url是测试环境,另一套为线上环境,根据测试对象不同我们选择不同的环境变量模板就行了,而不再需要修改测试数据中的url了。

上面我们就把请求的host提取出来,然后在不同环境变量模板里使用不同的url值,后面我们就可以通过选择不同的环境变量模板来进行对应的请求测试

8、导出用例为代码

POSTMAN还有一个很赞的地方就是导出用例为CODE,即如果你编写好了用例之后可以通过点击“Generate Code”来一键生成代码,并且还有好多语言和类库可以选择,帧的是棒棒哒!

9、批量执行用例

最后我们再来看看POSTMAN的批量执行功能,这个功能由单独的runner来负责的,我们需要在另外的界面进行操作,具体如下:

依次点击上面的按钮就会出现runer界面,如下直接点击“Start Test”即可

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • PhpStorm+xdebug+postman调试技巧分享

    下面记录下我自己从安装到测试的全部详细过程.我的运行环境是:windows+wamp 一.配置wamp安装目录下的php.ini文件 我的安装目录是:C:\wamp64\bin\apache\apache2.4.23\bin 1 zend_extension ="c:/wamp64/bin/php/php5.6.31/zend_ext/php_xdebug-2.5.5-5.6-vc11-x86_64.dll" 2 xdebug.remote_enable = on 3 xdebug.p

  • 基于postman获取动态数据过程详解

    1.在 Tests 中处理 返回报文为 json 格式的 示例:因为充值记录接口中需要用到登录接口返回报文中的信息如下 以获取 token(JWT)和 uid 为例 在登录接口的tests中写入代码(因为登录接口报文信息中有返回 JWT 和 uid) 输入完上图中代码后,点击send请求接口,去全局变量中查看,是否成功获取JWT和uid的值并且设置了全局变量 在充值记录接口中需要用到JWT和uid的地方设置变量{{JWT}}和{{uid}} 请求完成后清除变量 通过批量执行用例的方法执行,且切换

  • Postman无法正常返回结果问题解决

    浏览器输入地址可以返回结果,但是由于返回的json没有格式,看起来比较麻烦,用postman却报错Could not get any response. 可以注意到下面写了可能的情况:比如服务器无响应(由于浏览器可以访问,所以排除这个),ssl证书问题等等,这里提示可以在setting–>general里面关闭,去设置后问题解决. 原因:用浏览器访问时,地址栏提示了该路径不安全,所以出发了ssl证书相关的东西. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • postman中POST请求时参数包含参数list设置方式

    如下所示: 图中params包含多个参数,具体如下: {"rzrq":"2019-01-21","rzlx":"1","nr":"","jsonStr":"[{'gzlx':'1','gznr':'11','gzcg':'11','czwt':'11','yjjy':'11','rzgl_id':'','px':1},{'gzlx':'1','gznr':'

  • 如何在postman中添加cookie信息步骤解析

    在测试工作中,很多的接口都依赖于登录接口,即在调用该接口前必须有登录的信息,否则调用会报错,那如何在postman中添加cookie信息呢?主要分为两个步骤,下面为大家详细介绍: 第一步:我们首先使用postman访问登录接口,在response中找到返回的cookie信息,并拷贝: 第二步:这里我们为大家介绍两种方法 方法1:在请求接口的headers中将cookie值设置为拷贝的cookie信息: 方法2:将cookie设置为全局变量,请求接口时直接调用即可. 全局变量的配置如下: 以上就是

  • postman模拟访问具有Session的post请求方法

    找Cookie 就等于具有了session 火狐浏览器的Cookie 谷歌浏览器的Cookie Network 点击URL 再点Headers 不同链接产生的Cookie 不同 接下来是访问 最上面就是链接地址 ?page=1&rows=10都是后加的 因为设置参数的原因 最后就是Cookie 如果Cookie为多个 以此类推 以上这篇postman模拟访问具有Session的post请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Postman如何实现参数化执行及断言处理

    一.假设需要做的测试的参数如下: 注意保存为.csv文件时一定要选择格式为UTF-8 ,避免乱码. 二.输入参数和期望结果在postman中的用法: 注意一定要通过runner的方式进行运行,选择对应的参数文件,输入对应的循环次数 运行结果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • postman传递当前时间戳实例详解

    请求动态参数(例如时间戳) 有时我们在请求接口时,需要带上当前时间戳这种动态参数,那么postman能不能自动的填充上呢. 我们可以使用postman的pre-request script 首先 我们在请求参数里使用这种方式填写value参数的值为{{var}} 然后在 pre-request script 添加js代码如下. 其中var为上一步定义的相同名字,可根据自己需要修改. pm.environment.set('var',Math.round(new Date()/1000)+10);

  • PhpStorm2020.1 安装 debug - Postman 调用的详细教程

    一. 准备 1.1 下载 xdebug 我本地用的是 phpStudy 的集成环境, php 版本是 7.2.10 在 Xdebug 下载地址(https://xdebug.org/download/historical)找到合适的版本(这边包含历史版本),我选的是 PHP 7.2 VC15 (32 bit) 1.2 配置 PHP 将下载好的文件放入 php 下的 ext 文件夹内,以我本机为例 (E:\Castle\phpStudy\PHPTutorial\php\php-7.2.1-nts\

  • 基于postman实现http接口测试过程解析

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程. HTTP的接口测试工具有很多,可以进行http请求的方式也有很多,但是可以直接拿来就用,而且功能还支持的不错的,我使用过的来讲,还是postman比较上手. 优点: 1.支持用例管理 2.支持get.post.文件上传.响应验证.变量管理.环境参数管理等功能 3.支持批量运行 4.支持用例导出.导入 5.支持云端保存用例[付费用

  • Java基于rest assured实现接口测试过程解析

    背景 java程序员一般写的是后端服务是JavaWeb类型的项目,主要包括Http接口和dubbo接口,Http接口一般采用的rest风格,那么如何快速的对rest接口在第三方的测试框架上进行测试呢? rest-assured框架是一个不错的工具. 使用之前,需要熟悉一下最基础的使用方法,在写完几个接口的测试用例之后,好比你可以使用你的三棱军刺熟练的进行基础的攻击了. 快速的来一个hello world吧! 假设你写了一个接口:lotto,访问路径是: http://localhost:8080

  • Python MOCK SERVER moco模拟接口测试过程解析

    MOCK的意义 1.接口测试等待开发完成接口开发之后再进行,不符合测试的尽早测试的基本原则,我们可以利用MOCK工具来模拟接口,减少对开发的依赖,从而可使测试与开发同步进行 2.接口存在很多依赖关系,现实中,由于一些客观的原因,我们在测试环境所要的测试条件可能无法满足,此时就需要我们用MOCK工具来进行模拟,如网上商城有个支付业务,与工商银行做对接,工商银行只提供正式环境的对接,没有测试环境支持,那我们在测试环境测试就需要利用MOCK工具进行模拟,完成支付业务流 mock工具-moco 官网地址

  • 脚本测试postman快速导出python接口测试过程示例

    Postman的脚本可以导出多种语言的脚本,方便二次维护开发. Python的requests库,支持python2和python3,用于发送http/https请求 使用unittest进行接口自动化测试 01.环境准备 1.安装python(使用python2或3都可以) 2.安装requests:pip install requests 电脑中同时存在python2和python3时会出现安装错误如下: Python3下安装: Pip的版本太低,无法安装其他模块 升级pip 成功安装req

  • Java基于正则表达式实现xml文件的解析功能详解

    本文实例讲述了Java基于正则表达式实现xml文件的解析功能.分享给大家供大家参考,具体如下: 这是我通过正则表达式实现的xml文件解析工具,有些XHTML文件中包含特殊符号,暂时还无法正常使用. 设计思路:常见的xml文件都是单根树结构,工具的目的是通过递归的方式将整个文档树装载进一个Node对象.xml文档树上的每一个节点都能看做一个Node对象,它拥有title.attribute和text三个自身变量以及一个childrenNode集合用来存放子节点,使用正则表达式完整装载. 一.编写N

  • 基于springboot处理date参数过程解析

    这篇文章主要介绍了基于springboot处理date参数过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前言 最近在后台开发中遇到了时间参数的坑,就单独把这个问题提出来找时间整理了一下: 正文 测试方法 bean代码: public class DateModelNoAnnotation { private Integer id; private Date receiveDate; } controller代码: @RestContr

  • postman和python mock测试过程图解

    这篇文章主要介绍了postman和python mock测试过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.python中的mock测试 1).安装mock第三方库:pip install -i https://pypi.douban.com/simple mock 2).实现demo: import unittest from mock import Mock def add(a, b): pass class TestAdd(u

  • java基于spring boot本地上传图片示例解析

    前几天项目中刚好需要上传图片的需求,当时想的是用七牛云,因为我用七牛云也用了好几次,就是把图片上传到七牛云空间里面,数据库里面保存的是这张上传图片的url地址 那么页面访问也就很方便,考虑到项目部署的环境我就用了本地上传,不牵涉数据库的操作.我就花了半个小时写了个本地上传图片的小demo.非常的简单. 下面是需要的依赖 pom.xml文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns=

  • 基于Java生成图片验证码的方法解析

    目录 使用Java生成图片验证码完全解析 注意事项 如何加入噪点 如何生成干扰线 什么样的算法生成噪点比较好 验证码如何避免被ocr识别 如何斜放文本 四位图形验证码 调整噪点的透明度 使用Java生成图片验证码完全解析 在 Java 中开发图片验证码功能,您可以使用 Java 图形处理库,比如 Java Advanced Imaging (JAI) 或者 Java2D,来生成图片并将文本写入图片.具体实现方法如下: 创建一个 BufferedImage 对象,并设置图片的宽度和高度. 获取图片

  • 基于Vue实例生命周期(全面解析)

    前面的话 Vue实例在创建时有一系列的初始化步骤,例如建立数据观察,编译模板,创建数据绑定等.在此过程中,我们可以通过一些定义好的生命周期钩子函数来运行业务逻辑.本文将详细介绍Vue实例的生命周期 图示 下图是Vue实例生命周期的图示 解释 接下来,根据提供的生命周期钩子,对Vue实例各个阶段的情况进行详细说明 [beforeCreate] 在实例开始初始化时同步调用.此时数据观测.事件等都尚未初始化 [created] 在实例创建之后调用.此时已完成数据观测.事件方法,但尚未开始DOM编译,即

随机推荐