五、postman使用

5.1.1 什么是Postman

            Postman 提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求

(GET, POST, PUT, DELETE…),并且能附带任何数量的参数和 Headers。而且它还提供测试数据和环境

配置数据的导入导出,付费的 Post Cloud 用户还能够创建自己的 Team Library 用来团队协作式的测

试,并能够 将自己的测试收藏夹和用例数据分享给团队。

        postman适用于不同的操作系统,还支持postman浏览器扩展程序、postman chrome应用程序等。但

是 浏览器插件目前Google已经停止更新了。

5.2 Postman下载和安装

5.2.1 Postman的下载

    官网下载: 地址:https://www.getpostman.com/downloads/,选择页面中的“Download”,根据自己电脑配置, 选择32位下载还是64位下载

5.2.2 Postman的安装过程

        1、双击下载好的安装包

        2、因为Postman是免安装的,双击安装包,自动安装到本地电脑中

        3、查看Postman界面,出现如下图所示,说明安装成功

        4、登录,点击进入workspace页面

5.3 Postman主界面的介绍

5.3.1 工具栏

5.4 Postman基本操作

5.4.1 新建测试集、文件夹、请求用例

        点击collections,点击+,点击create new collection

        点击collection右边的三个点,点击add request是添加请求,add folder是添加文件夹

5.4.2 get请求

新建一个get请求,如图所示

    1.设置请求方式为get

    2.粘贴网址

   3.添加请求参数,参数添加后会在url上显示出来,如图中所示的?id=1005008&page=1&size=100

    4.如果有请求头,在请求头的部分添加,也是键值对

    5.点击send之后,下面显示响应数据,可以是html,json,xml...

5.4.3 post请求

    1. 提交form表单,如图所示

        https://www.wanandroid.com/user/login

        方法:POST

    参数:

    username,password

    post请求的参数信息在Body中添加

    form表单提交需要选中x-www-form-urlencoded

    请求头添加和get请求相同,在Headers中添加

need-to-insert-img

need-to-insert-img

2. json提交

下图中,当我们选择JSON(application/json) 是会自动帮我们设置 headers 为 application/json

在这里就不截图 举例了

need-to-insert-img

3. xml提交

need-to-insert-img

4. 二进制文件提交

need-to-insert-img

    其它请求方式如PUT,DELETE 大致流程和GET,POST 差不多,这里就不一一举例说明了

5.4.4 授权Authorization

    Authorization,授权就是验证我们是否有权限从服务器访问所需的数据。发送请求时,通常必须包含参数以确保请求有权访问并返回所需的数据,比如需要登录之后才能访问的数据。Postman提供的授权类型可以让我们轻松处理Postman进行接口测试中的身份验证协议。

在postman中Authorization分为以下几种类型:

        注意:应当注意:NTLM和BearerToken仅在Postman本地应用程序中可用。所有其他授权类型都可以在Postman本地应用程序和Chrome应用程序中使用。

1. Inherit auth from parent

    向集合或文件夹添加授权。

    假设您在集合中添加了一个文件夹。在授权选项卡下,默认的授权类型将被设置为“从父类继承auth”。

    “从父”设置的“继承auth”指示默认情况下,该文件夹中的每个请求都使用父类的授权类型。在本例中,该集合使用“No Auth”,因此该文件夹使用“No Auth”,这意味着该文件夹中的所有请求将使用“No Auth”

    如果您希望将父集合授权类型保留为“No Auth”,但要更新这个特定的文件夹的授权助手,该怎么办呢?您可以编辑文件夹的详细信息,从类型下拉菜单中选择“基本的Auth”,并输入您的凭证。因此,这个文件夹中的每个请求都依赖于“基本的Auth”,而父集合中的其余请求仍然不使用任何授权

2. No Auth

    默认情况下,“No Auth”出现在下拉菜单列表中。当您不需要授权参数发送请求时,使用“No Auth”。

3. Bearer Token

Bearer Token是安全令牌。任何带有Bearer Token的用户都可以使用它来访问数据资源,而无需使用加密密钥。

使用Bearer Token:

        第一步:从下拉菜单中选择“Bearer Token”。

        第二步:要设置请求的授权参数,请输入令牌的值。

        第三步:点击发送按钮

4. Basic auth

    Basic Auth是一种授权类型,需要验证用户名和密码才能访问数据资源。

使用基本身份验证:

        第一步:从下拉菜单中选择“Basic Auth”。

        第二步:要设置请求的授权参数,请输入您的用户名和密码。

        第三步:点击发送按钮。

5. Digest Auth

        在“Digest Auth”流程中,客户端向服务器发送请求,服务器返回客户端的nonce和realm值;客户端对用户名、密码、nonce值、HTTP请求方法、被请求资源URI等组合后进行MD5运算,把计算得到的摘要信息发送给服务端。服务器然后发回客户端请求的数据。

        通过哈希算法对通信双方身份的认证十分常见,它的好处就是不必把具备密码的信息对外传输,只需将这些密码信息加入一个对方给定的随机值计算哈希值,最后将哈希值传给对方,对方就可以认证你的身份。

        Digest思想同样采如此,用了一种nonce随机数字符串,双方约好对哪些信息进行哈希运算即可完成双方身份的验证。Digest模式避免了密码在网络上明文传输,提高了安全性,但它仍然存在缺点,例如认证报文被攻击者拦截到攻击者可以获取到资源。

        默认情况下,Postman从响应中提取值对应的值。如果不想提取这些值,有以下两种选择:

        在所选字段的高级部分中输入您自己的值勾选“Yes,disable retrying the request”复选框。

6. OAuth 1.0

        OAuth 1.0是一种可以让我们在不公开密码的情况下授权使用其他应用程序的授权模式。

    在Postman中按照以下步骤使用OAuth 1.0授权:

    在Authorization下来授权标签中选择“OAuth 1.0”授权模式;在“Add authorization datato” 下拉选择框中,选择对应的请求模式。

    当选择“Request Body/Request URL”时,Postman将检查请求方法是POST还是PUT,以及请求主体类型是否是x-www-form-urlencoded;如果是这样,Postman将增加授权参数到请求主体。对于所有其他情况,它会向URL添加授权参数。

7. OAuth 2.0

    OAuth 2.0作为OAuth 1.0的升级版本。在Postman中按照以下步骤进行使用:

在Authorization下来授权标签中选择“OAuth 2.0”授权模式在“Add authorization data to”下拉选择框中,选择对应的请求模式;

设置请求的授权参数,有以下三个选择:

        点击“Get New Access Token”按钮,在弹出的对话框中输入对应的参数;单击“Request Token”按钮获取对应的Token。接下来有了对应的Token后,就可以点击“Send”按钮发送请求了;

        在“Access Token”输入框中输入一个Token,或者Token对应的环境变量,然后就可以点击“Send”按钮发送请求了;

        在“Available Tokens”下拉框中选择已经存在的Token,然后发送请求。

案例:

        /**

          * 登录

        * https://www.liulongbin.top:8888/api/private/v1/login

        * post

        * 参数:

        * username(admin),password(123456)

        *

        * 上传图片

    * https://www.liulongbin.top:8888/api/private/v1/upload

        * post

    * 请求头 :authorization : Bearer

    eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjU wMCwicmlkIjowLCJpYXQiOjE2MTU4NjI

    zODksImV4cCI6MTYxNTk0ODc4OX0.Rr-    M1MTfVWER3i8KiIIlfP0mW6oHYu05Sz6WzCeaKSA

    * 参数: file -- 文件

    */

可以给接口集

9.5 Pre-request Script--预处理脚本

    Pre-request Script,翻译中文为预处理脚本,是请求发送之前需要执行的代码片段,在我们点击send发起请求之前,改区域的代码先执行。

    使用场景:例如请求中包含一个随机数或者时间戳(时间的毫秒值),或者参数需要加密。

    1. 给一个接口添加预处理脚本:新建一个网络请求,点击Pre-request Script,写入js脚本获取时间的毫秒值(时间戳)

     2.给接口集添加预处理脚本:如图所示,完成后以后接口集下面所有接口在请求的时候都会先执行预请求脚本

            在输入框右侧有一些简单的js脚本生成按钮,可以通过按钮生成

5.6 Tests内置脚本

        既然有在请求发起之前执行的脚本,那么是否有在请求完成之后执行的脚本呢? 有Tests里面输入的脚本就是在网络请求之后执行的,Postman的强大之处在于其允许在对某一个request访问的之前和之后分别运行自定义的一段Javascript脚本,这样直接就完成了一个chain request的效果,可以将数条request连结成一个流程完成一体化测试。

如下在Pre-request Script和Tests中分别输入了js代码,执行如下如所示:

5.7 命令行运行接口结合

        9.7.1 命令行运行

            执行命令行前提条件是需要newman,newman是需要nodejs来安装的,所以得先下载安装node.node下载地址:https://nodejs.org/en/download/

            cmd模式下输入node -v,回车,显示node版本号,即为安装成功

        npm(node package manager):nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)

        cnpm:淘宝团队的cnpm是npm在国内的镜像,可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

        安装完后查看版本cnpm -v

        安装newman:cnpm install newman --global

        检查是否安装成功:newman -v

        安装newman-reporter-html

        执行cnpm install -g newman-reporter-html

        在测试文件夹 pmtest 里面可以看到生成的一个 newman 文件夹,打开就可以看到生成的测试报告。

5.8 环境变量的使用

    5.8.1 Postman 环境变量的应用

        点击眼睛图标可以查看所有的环境变量和全局变量。点击眼睛图标右边的设置图标可以设置环境变量和全局变量。

        环境变量可以分组设置,并且在使用的时候选择其中一组环境变量。 使用环境变量 {{baseUrl}} 两边各量个花括号括起来 这个环境变量可以在url 中使用,也可以在header 中能使用,还能在请求体中使用

        选中No Environment(选中已有环境就变成编辑了)--> 点击眼睛-->点击Add

        案例:新建两个环境,都创建相同的环境变量baseUrl值使用不同的网址,新建请求,使用{{baseUrl}},切换环境后,同一个请求访问到的页面不一样

5.9 全局变量的使用

    5.9.1 Postman全局变量的应用

        postman 的环境变量可以分组,但是全局变量不能分组,只能有一组全局变量,在设置和使用都类似于环境 变量。在下图位置设置全局变量。

        点击右上角眼睛 --> 点击Globals右边的Edit,添加全局变量,点击save保存,和环境变量一样,通过{{timestamp}}引用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容