实验简介

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。它能提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和 Headers。不仅如此,它还提供测试数据和环境配置数据的导入导出,付费的 Post Cloud 用户还能够创建自己的 Team Library 用来团队协作式的测试,并能够将自己的测试收藏夹和用例数据分享给团队。甚至,它还能与Jenkins进行持续集成。它如此强大,完全刷新了我对插件类工具的认知

实验目的

1. 使用Postman发送get, post请求

2. 对请求的内容实现参数化

2. 创建测试集Collections和模块化Folder,进行测试用例的管理

实验流程

1. 首先是安装Postman, 这是一个Chrome插件,请网上自行下载安装。

  如果插件无法安装的话, 可以使用绿色版的Postman,下载地址如下: https://pan.baidu.com/s/12tkkk6sVETKgGfGp2_Mb3A

2. 发送Get请求, 输入URL:

  

  点击Params,输入参数及value,可输入多个,即时显示在URL链接上,所以,GET请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。

  点击 Send, 发送请求,Postman下半部分为响应相关信息。

  

  此处需注意的是区别HTTP状态码与响应正文中的状态码,只有HTTP状态码是200时,才代表这个接口请求是正确的,这个是HTTP协议定义的,而响应正文的状态码,是程序员自已定义的,可以是200,也可以定义为其它值,是为了让接口使用者去区分正常数据与异常数据。

  下面这个案例的状态码和响应码就不相同。

  

3. 发送Post请求

  输入URL,编辑正文信息

  对于Post请求,Postman给我们提供了很格式,大家可以根据需要来选择。

  

  以下为部分常用的Content-Type解释:

  

  当选择相应参数方式后,postman自动的帮我们设置了Headers里的Content-Type,因此不需要我们人工干预,这就是使用一款流行工具的好处,把一些基础点都帮我们处理了。

4. 一个完整的接口测试,应该包括:请求->获取响应正文->断言,我们已经知道了请求与获取响应正文,下面来介绍如何用postman进行断言。

  在Tests里,Postman给我们提供了很多方法

  举例说明:

    首先设置一个断言场景,根据断言场景来举例说明Postman断言如何使用。

    1、判断HTTP返回状态码为200

    2、判断响应正文中是否包含:"statusCode":200

    3、解析响应正文,并判断statusCode的值是200,响应内容”successful”

  

  如果响应是JSON的话,我们需要用到方法“Response body:JSON value check”。

  我们先来看一下请求的响应,对如下接口,我们的验证点可以是好几个:"message": "success", "limit": 100

  

  我们可以看出,检查点的方法里面其实是JS代码,jsonData变量其实是解析完JSON后的对象,在JS中,一个JSON对象获取其属性的值,直接是用jsonData.value.

  重点关注一下,如果验证点是嵌套在JSON对象里面,需要再取一次值,如下图:

  

  添加验证点之后,测试一下, 点击Send, 发送请求, 在响应区看一下测试结果,如下图,断言全部通过。

  

  以上,SNIPPETS中还有很多的方法提供给我们, 努力学习吧~~~

Postman系列之发送请求(一)的更多相关文章

  1. 在Postman脚本中发送请求(pm.sendRequest)

    Postman的Collection(集合)/Folder(集合的子文件夹)/Request(请求)都有Pre-request script和Tests两个脚本区域, 分别可以在发送请求前和请求后使用 ...

  2. Postman集合/文件夹/请求中脚本的执行顺序

    Postman的Collection(集合)/Folder(集合的子文件夹)/Request(请求)中都有Pre-request Script(请求前脚本)和Tests(请求后脚本) 这个功能类似于不 ...

  3. Postman使用手册1——导入导出和发送请求查看响应

    导读: 现在的web和移动开发,常常会调用服务器提供restful接口进行数据请求,为了调试,一般会先用工具进行测试,通过测试后才开始在开发中使用.这里介绍一下如何在chrome浏览器利用postma ...

  4. Postman模拟Request Payload发送请求

    Postman模拟Request Payload发送请求,如下图所示:

  5. PostMan 使用Interceptor 发送带cookie的请求一直loading

    问题 最近要写一个爬虫(虽然是第一次写),于是就用了Chrome上非常方便一个插件,PostMan,但是由于chrome安全的限制,发不出带cookie和带有自定义头部标签的请求. 百度一番后得如果想 ...

  6. postman使用--发送请求

    概述 上节讲了下接口的基础,从现在来学习怎么测接口.当然,测试接口有很多的工具,比如postman,jmeter等等,或者用代码测试,如果是做接口自动化我当然会选python,如果是调试接口,我特别喜 ...

  7. Java生成二进制文件与Postman以二进制流的形式发送请求

    业务描述: 模拟终端(智能家居)发送HTTP POST请求,请求参数为二进制流:而且,二进制流是加密后的数据,因此调试分两步: 1.Java代码生成加密后数据,并保存为二进制流文件 (电脑上的图片就是 ...

  8. Postman系列四:Postman接口请求设置环境变量和全局变量、测试沙箱和测试断言、测试集运行与导入数据文件

    一:Postman中接口请求设置环境变量和全局变量 全局变量和环境变量可以通过Pre-request Script和Tests设置,会在下面测试沙箱和测试断言中讲到. 全局变量的设置:官网参考http ...

  9. Postman系列三:Postman中post接口实战(上传文件、json请求)

    一:接口测试过程中GET请求与POST请求的主要区别 从开发角度我们看get与post的主要区别是:1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据:2.Get安全性比Post低 ...

随机推荐

  1. deep_learning_初学neural network

    神经网络——最易懂最清晰的一篇文章 神经网络是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学 ...

  2. 微信小程序音乐播放器

    写在前面 1.入门几天小白的作品,希望为您有帮助,有好的意见或简易烦请赐教 2.微信小程序审核音乐类别已经下架,想要发布选题需慎重.附一个参考链接,感谢https://www.hishop.com.c ...

  3. OSG入坑之路[转]

    转载自:https://segmentfault.com/a/1190000010506374?utm_source=tag-newest osg插件原理:https://blog.csdn.net/ ...

  4. 8.1.Zookeeper概念简介

    1.分布式系统概述 理解1: 分布式系统:分布式系统是针对一个大系统而言,将一个大系统分成多个子系统,即多个工程系统. 我们先看下传统的系统模式:    传统的系统模式将多个功能模块全部在一个工程中写 ...

  5. 卸载CUDA和cuDNN

    卸载CUDA和cuDNN 1.卸载CUDA 本教程只针对对于.run方式安装的,其他的没有进行测试 打开终端,输入sudo /usr/local/cuda-10.0/bin/uninstall_cud ...

  6. Redis01——Redis产生背景

    Redis 产生背景 1.1.数据存储的发展史 1.1.1.磁盘时代 很久之前,我们的数据存储方式是磁盘存储,每个磁盘都有一个磁道.每个磁道有很多扇区,一个扇区接近512Byte. 磁盘的寻址速度是毫 ...

  7. “美登杯”上海市高校大学生程序设计赛B. 小花梨的三角形(模拟,实现)

    题目链接:https://acm.ecnu.edu.cn/contest/173/problem/B/#report9 Problem B B . 小 花梨 的 三角形 时间限制:1000ms 空间限 ...

  8. 第二章 Vue快速入门--13 讲解v-model实现表单元素的数据双向绑定

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  9. HTML 获取class里的多个值 和 dataset的使用

    属性:classList var x = event.target; console.log(x); console.log(x.classList); 可以发现 获取了全部的class里的值 获取单 ...

  10. pd.dataframe和series以及np.narray的维度升降

    1.第一步读入泰坦尼克号数据集 import pandas as pd data = pd.read_csv(r".\Narrativedata.csv" ,index_col=0 ...