1.4HTTP请求测试工具Postman使用分析

任务内容

1、 学习Postman的基本功能,为后期实验做准备。
2、 使用Postman进行API测试。

实验原理

开发过程中,特别是需要与接口打交道时,无论是写接口还是用接口,拿到接口后肯定都得提前测试一下,这样的话就非常需要有一个比较给力的Http请求模拟工具,现在流行的这种工具也挺多的,像火狐浏览器插件RESTClient,Chrome浏览器插件Postman等等。这里主要介绍一下Postman。Postman是Google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件。其主要功能包括:

  • 模拟各种HTTP requests
    从常用的GET、POST到RESTful的PUT、DELETE等等。甚至还可以发送文件、送出额外的header。
  • Collection功能(测试集合)
    Collection是requests的集合,在做完一个测试的时候,你可以把这次的 request 存到特定的 Collection 里面,如此一来,下次要做同样的测试时,就不需要重新输入。而且一个collection可以包含多条request,如果我们把一个request当成一个test case,那collection就可以看成是一个test suite。通过collection的归类,我们可以良好的分类测试软件所提供的API。而且 Collection还可以Import或是Share出来,让团队里面的所有人共享你建立起来的Collection。
  • 人性化的Response整理
    一般在用其他工具来测试的时候,response的内容通常都是纯文字的raw,但如果是JSON,就是塞成一整行的JSON。这会造成阅读的障碍,而Postman可以针对response内容的格式自动美化。JSON、XML或是HTML都会整理成我们可以阅读的格式。
  • 内置测试脚本语言
    Postman支持编写测试脚本,可以快速的检查request的结果,并返回测试结果。
  • 设定变量与环境
    Postman可以自由设定变量与环境,一般我们在编辑request,校验response的时候,总会需要重复输入某些字符,比如url,postman允许我们设定变量来保存这些值。并且把变量保存在不同的环境中。比如,我们可能会有多种环境,development、staging或local,而这几种环境中的request URL也各不相同,但我们可以在不同的环境中设定同样的变量,只是变量的值不一样,这样我们就不用修改我们的测试脚本,而测试不同的环境。
    Postman的主界面展示如图所示:


    1、 Collections:在Postman中,Collection类似文件夹,可以把同一个项目的请求放在一个Collection里方便管理和分享,Collection里面也可以再建文件夹。如果做API文档的话,可以把每个API对应一条请求。
    2、 上面的黑字注册是请求的名字,如果有Request description的话会显示在这下面。下面的蓝字是保存起来的请求结果,单击可以载入某次请求的参数和返回值。
    3、 选择HTTP Method的地方。
    4、 请求URL,两层大括号表示这是一个环境变量,可以在“16”的位置选择当前的environment,环境变量就会被替换成该environment里variable的值。
    5、 设置URL参数的key和value。
    6、 单击发送请求。
    7、 单击保存请求到Collection。
    8、 设置鉴权参数。
    9、 自定义HTTP Header。
    10、 设置Request body,“13”那里显示的就是body的内容。
    11、 在发起请求之前执行的脚本,例如request body里的那两个random变量,就是每次请求之前临时生成的。
    12、 在收到response之后执行的测试,测试的结果会显示在“17”的位置。
    13、 有四种形式可以选择,form-data主要用于上传文件,x-www-form-urlencoded是表单常用的格式,raw可以用来上传JSON数据,binary用于二进制格式的数据。
    14、 返回数据的格式,Pretty可以看到格式化后的JSON,Raw就是未经处理的数据,Preview可以预览HTML页面。
    15、 单击这里把响应保存到“2”的位置。
    16、 设置environment variables和global variables。
    17、 测试执行的结果,一共几个测试,通过几个。
实验步骤

一、 Postman安装

步骤1 登录主机,进入命令终端。执行su root命令切换到root用户。

步骤2 执行cd命令,进入root家目录,然后执行ls命令查看镜像中预置的Postman安装包,如下图所示。

步骤3 执行以下命令解压并安装Postman。

# tar -xzf postman.tar.gz -C /opt
# rm postman.tar.gz
# ln -s /opt/Postman/Postman /usr/bin/postman

步骤4 配置Postman,使得Postman能在Ubuntu Unity的启动器中显示,执行以下命令:

# cat > /usr/share/applications/postman.desktop <<EOL
> [Desktop Entry]
> Encoding=UTF-8
> Name=Postman
> Exec=postman
> Icon=/opt/Postman/resources/app/assets/icon.png
> Terminal=false
> Type=Application
> Categories=Development;
> EOL

步骤5 选择“Application Menu Accessories > Application Finder”,在查找框中输入Postman,如下图所示。

步骤6 双击“Postman”或选择“Postman”后单击“Launch”即可启动使用,如下图所示。

说明:若提示注册,请关闭页面,重新打开Postman。

步骤7 单击左上角的“Import”,在弹出框中单击“Drop files here”,导入操作模板,如下图所示。

步骤8 选择root目录下的SDN Experiments.postman_collection.json文件,单击“Open”,如下图所示。


说明:若报错提示没有权限,请在终端执行chmod 777 /root命令,添加权限。

步骤9 查看导入后的页面,如下图所示。

二、 Postman使用

  • 场景一 GET使用介绍

在Request Builder中,可以通过Postman快速构建需要的Request。所有的HTTP Request都分成4个部分:URL、Method、Headers和Body,而Postman针对这几部分都有针对性的工具。

步骤1 在如下文本框中输入URL,单击Params按钮,Postman会弹出一个键值编辑器,可以输入URL的Parameter,Postman会自动加入到URL当中,反之,如果URL当中已经有了参数,那Postman会在打开键值编辑器的时候把参数自动载入,如下图所示。


说明:要组装一条Request, URL永远是首先要填的内容,在Postman里面曾输入过的URL是可以通过下拉自动补全。

步骤2 单击“Headers”按钮,Postman会弹出一个键值编辑器,添加需要的Header attribute,如下图所示。


说明:Postman提供了auto-complete功能,敲入一个字母,可以从下拉菜单里选择想要的标准atrribute。

步骤3 单击如下按钮,Method选择“GET”,如下图所示。


说明:Postman支持所有的Method,而一旦选择了Method,Postman的request body编辑器会根据的你选择,自动的发生改变。

步骤4 单击右上角的“Send”按钮,发送GET请求。如下图所示,下方Body体中展现结果,Pretty可以看到格式化后的JSON,Status 200 OK这里表示鉴权成功。

  • 场景二 POST使用介绍

步骤1 在URL地址栏中输入地址https://postman-echo.com/transform/collection?from=1&to=2,Method选择“POST”,如下图所示。

步骤2 自定义HTTP Header,其中Key为Content-Type,Value为application/json,如下图所示。

步骤3 创建的Request,编辑Request Body,Postman根据body type的不同,提供了4种编辑方式:form-data,x-www-form-urlencoded,raw,binary,这里选择raw格式,并填写下面的内容:

{
  "id": "7875be4b-917d-4aff-8cc4-5606c36bf418",
  "name": "Sample Postman Collection",
  "description": "A sample collection to demonstrate collections as a set of related requests",
  "order": [
    "4d9134be-e8bf-4693-9cd7-1c0fc66ae739",
    "141ba274-cc50-4377-a59c-e080066f375e",
    "4511ca8b-0bc7-430f-b894-a7ec1036f322"
  ],
  "folders": [],
  "requests": [
    {
      "id": "4d9134be-e8bf-4693-9cd7-1c0fc66ae739",
      "name": "A simple GET request",
      "collectionId": "877b9dae-a50e-4152-9b89-870c37216f78",
      "method": "GET",
      "headers": "",
      "data": [],
      "rawModeData": "",
      "tests": "tests['response code is 200'] = (responseCode.code === 200);",
      "preRequestScript": "",
      "url": "https://postman-echo.com/get?source=newman-sample-github-collection"
    },
    {
      "id": "141ba274-cc50-4377-a59c-e080066f375e",
      "name": "A simple POST request",
      "collectionId": "877b9dae-a50e-4152-9b89-870c37216f78",
      "method": "POST",
      "headers": "Content-Type: text/plain",
      "dataMode": "raw",
      "data": [],
      "rawModeData": "Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...",
      "url": "https://postman-echo.com/post"
    },
    {
      "id": "4511ca8b-0bc7-430f-b894-a7ec1036f322",
      "name": "A simple POST request with JSON body",
      "collectionId": "877b9dae-a50e-4152-9b89-870c37216f78",
      "method": "POST",
      "headers": "Content-Type: application/json",
      "dataMode": "raw",
      "data": [],
      "rawModeData": "{\"text\":\"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\"}",
      "url": "https://postman-echo.com/post"
    }
  ]
}

说明:这里只是为了方便介绍Postman的使用,具体body体中的内容不用特别关注,如下图所示。

步骤4 单击右上角的“Send”按钮,发送POST请求。

下方Body体中展现结果,Postman根据内容检索自动按JSON的格式显示出来,同时可以清楚的看到status code和花费的时间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值