Postman接口测试工具学习笔记(一) 入门及基本概念

https://blog.csdn.net/sevensolo/article/details/87208546

Postman进阶实践:获取天气预报实例

更新注意

  1. 这个网站的接口增加注册给出了appid和app密码访问时要注意看接口文档
    免费版接口: https://tianqiapi.com/free/day
    免费版接口文档:https://tianqiapi.com/index/doc?version=day

这次我们操作一个实践测试,主要是Postman的一些主要模块的操作和使用
URL,是一款可以获得天气的API,地址如下:

https://tianqiapi.com/api/


一. Get 方法
这里不添加城市,API会自动获取你的城市的天气

二. 获取指定城市的天气
Params 加上参数 # 在key加参数的时候,url框会自动填入的
·version = v1 # 注意,这个值是写死的,不能改动
·city = 西安 # 我们选择查询西安的天气
·点击Send


三. 环境和变量

·变量

开发人员知道变量是符号名称,代表您存储在其中的信息。变量表示的信息可以更改,但变量上的操作保持不变。Postman中的变量以相同的方式工作。
您可以在多个位置重用变量的值。如果更改变量的值,则该变量的每个实例都将更改为新值。

·环境

环境是一组键值对。键表示变量的名称。您可以使用数据编辑器修改环境。
使用API​​时,通常需要为本地计算机,开发服务器或生产API提供不同的设置。环境允许您使用变量自定义请求,以便您可以在不更改请求的情况下轻松切换不同的设置。

·全局变量

全局变量提供了一组在所有范围内始终可用的变量。您可以拥有多个环境,但只有一个环境可以使用一组全局变量一次处于活动状态,这些变量始终可用。

变量
我们可以分配五种类型的变量范围:

全局
采集
环境
数据
本地
他们的的优先级如下图:

You can use variables in the following form in the Postman user interface - {{variableName}}.

官方文档对变量定义的格式为{{variableName}}

  1. 我们将城市名定义为{{cityname}};
  2. cityname提示未定义变量;
  3. 我们在右上角去管理环境显示没有环境,我们在右上角去管理环境;

    ** 环境管理**
    · 右上角点击管理环境;
    · 点击Add,创建环境,并命名未Test,点击Add;
    · 创建成功后,点击Test,Test里创建环境变量;
    · 创建成功后,点击Update;


  1. 右上选择刚刚创建的Test环境,点击Send;
  2. 这时候我们获取到西安的天气;

全局变量

  1. 查看环境,编辑全局变量


2. 全局变量city名设置为北京

3. 右上角选择没有环境点击Send
当没有选择环境时,默认是全局变量,这样我们在使用时,可以自由切换环境

四、脚本

使用Postman,您可以使用JavaScript语言为每个请求编写和运行测试。

脚本的分类:
脚本分为两种Pre-request Script和Tests
Pre-request Script 里的脚本是在请求发送到服务器之前先执行;
Test 里的脚本是Pre-request Script收到响应之后再去执行;
脚本的执行顺序:
在Postman中,单个请求的脚本执行顺序如下所示:
· 与请求关联的预请求脚本将在发送请求之前执行
· 与请求关联的测试脚本将在发送请求后执行

Pre-request script使用
· 这里我们首先删除刚才创建的全球变量;
· 删除后,cityname变量的状态又变成未定义状态;
· 打开选选项卡Pre-request script;
· 在右边snippets选择设置全局变量;
· 然后添加key和值,我们添加包括cityname=北京和version=v1;
· 这时候参数那里cityname和version状态正常;
· 点击Send,可以正常获取北京的天气;



Tests脚本的使用
· 打开Tests选项卡,右边选择SNIPPETS里选择任意内置语句,我们这里选择查看延迟低于200ms;
· 第一条语句是结果是PASS;
· 第二条有2点,第一,我们可以改动key为中文,第二,我们将响应时间低于200ms改为10ms,结果是FAIL的;
· 点击Send后,Test Results里可以选项里查看结果;

Postman Cosonle
控制台可以打印我们我们的request执行的结果,它有两种打开方式:
· 一种是View里,show console;
· 一种在左下角菜单;
· 使用方式,先打开控制台,然后发送request请求;
· 常用的语法console.log();

打印Pre-request script的请求
· 打开Pre-request script写入以下代码内容;

pm.globals.set("cityname", "北京");
pm.globals.set("version", "v1");//定义city的值等于获取全局变量cityname的值
var city = pm.globals.get("cityname");
//打印city的值
console.log("city的值为: " + city);

· 打开Postman console控制台;
· Send刚写好的脚本;
· 打开控制台查看打印结果;

打印输入Tests脚本request请求
· 我们将前置脚本的内容复制到Tests脚本里;
· 将cityname的值改为西安;
· 然后打开控制台,Send请求,查看控制台;
· 注意:前面提到的脚本运行顺序,是先Pre-request后Tests里的脚本;

五、Collection(集合)

您在Postman中发送的每个请求都会显示在侧栏的“ 历史记录”选项卡下。在小规模上,通过历史部分重用请求很方便。但是,随着邮递员使用量的增加,在历史记录中查找特定请求可能会非常耗时。您可以将所有请求保存为一组,以便于访问,而无需梳理历史记录部分。

· 如果我们将一个request看错一个测试用例,Collection可以看作是一个测试套件;
· Collection可以一键运行Collection里的所有request请求;
· Collection支持csv或者json格式的文件导入,官网有模板文件,json格式如下;

[{"path": "post","value": "1"
}, {"path": "post","value": "2"
}, {"path": "post","value": "3"
}, {"path": "post","value": "4"
}]

· 引用变量的语法有两个:

data.username 或者data['username']

创建Collection
· 直接将request保存到Collection中;
· 先创建Collection,然后添加request;
· 导入他人的Collection;

· 将request 添加到Collection里,下图两个地方可以添加

· Request name 可以自定义名字request名称;

· 点击文件夹后保存在新建的天气文件夹里,点击Save 添加成功;

运行Collection
· Collection Runner运行在独立的控制面板中;
· Collection Runner可以设置环境、运行次数、从文件获取变量等;
· Collection Runner打开有两个地方,如下图:


环境
集合运行时使用的环境
迭代
集合运行的次数
延迟
集合运行中每个请求之间的间隔(以毫秒为单位)
响应日志
制集合运行时的响应日志记录。分为三种:
对于所有请求,将记录所有请求的响应
对于失败的请求,将仅记录至少有一个失败测试的请求的响应
如果没有请求,将不会记录任何响应
数据
可以导入csv或者json文件
导入后选择导入数据的类型,点击Preview可以预览文件内容
保持变量
默认情况下,集合运行器中的任何环境更改都不会反映在请求构建器中

查看Collection
· Collection Runner运行结果可以查看截图,也可以导出;


运行集合

Postman接口测试工具学习笔记(二)Postman进阶实践:获取天气预报实例相关推荐

  1. Postman接口测试工具学习笔记(一)接口测试概念及Postman入门

    (下文照搬@Storm啊老师博文,留下记录为了方便学习和理解.大家可以去看看原文地址:https://blog.csdn.net/duzilonglove/article/details/786454 ...

  2. postman接口测试工具实战(二)

    postman接口测试工具实战(二) 一.接口关联,接口依赖 应用场景:下一个接口的参数是使用的上一个接口的返回值 1.JSON提取器.(都是从返回值里面提取) //javascript脚本,var定 ...

  3. amazeui学习笔记二(进阶开发4)--JavaScript规范Rules

    amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...

  4. amazeui学习笔记二(进阶开发2)--Web组件简介Web Component

    amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...

  5. Postman接口测试工具实战演练集

    文章目录 一.前言 二.Postman工具介绍 三.Postman工具下载安装 四.Postman工具使用 五.Postman工具之接口测试 5.1 接口测试的必要条件 5.2 常见请求与传参 5.3 ...

  6. postman 接口测试工具介绍

    postman 接口测试工具介绍 https://www.cnblogs.com/fly_dragon/p/9186745.html

  7. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  8. ROS学习笔记二:探索ROS文件系统

    ROS学习笔记二:探索ROS文件系统 ROS针对自己文件的特性,具有一些自己的工具命令,当针对ROS文件进行操作的时候是非常方便的.这些命令和ubuntu系统原有的命令相似但却不同,单独针对ROS文件 ...

  9. CAS单点登录学习笔记二之部署CAS Server

    CAS Server 服务器部署 [b]简介[/b] CAS Server 是一套基于 Java 实现的服务,该服务以一个 Java Web Application 单独部署在与 servlet2.3 ...

最新文章

  1. php5对象复制、clone、浅复制与深复制的区别与介绍
  2. 7种常用p2p共享协议
  3. mysql 密码文件改成密文_数据库密码弄成密文
  4. 【Spring】Failed to load ApplicationContext Neither GenericXmlContextLoader nor AnnotationConfigCont
  5. css的长度单位没有哪些,css 长度单位知多少
  6. poj3268(Silver Cow Party)最短路
  7. 【SSH网上商城项目实战13】Struts2实现文件上传功能
  8. 什么是Zepto.js
  9. 供应链运作参考模型(SCOR):一种用于改善供应链管理的模型
  10. XCT学习笔记_X射线
  11. MapGISK9安装
  12. C002-CPP-语法与用法摘录-(ques=0)
  13. 摩托罗拉被曝裁员超一半 联想多品牌失败了吗?
  14. linux7 显示任务,centos 7下计划任务详解之at
  15. [搜索引擎]Sphinx的介绍和原理探索
  16. 高级渗透之VBS调用WMI接口
  17. 【GPS】GPS测试环境
  18. 安装MySQL提示cab文件损坏_安装所需的 CAB 文件“Redist.cab”已损坏处理办法
  19. 自定义控件——圆形圆点进度条(仿安全卫士中的一键加速)
  20. 计算机系统集成双代号网络图讲解,系统集成项目管理工程师双代号时标网络图知识解读...

热门文章

  1. JFrame小练习1
  2. 运维跟开发一定有仇么?
  3. 3d激光雷达开发(旋转和位移)
  4. 随想录(windows上cuda环境安装)
  5. C语言和设计模式(之模板模式)
  6. 为什么c相电路在前面_第十二章 三相电路知识点
  7. linux samba 多个目录,linux7 Samba服务配置,多个部门相应管理自己的项目目录,其他有访问权限...
  8. 5g理论速度_华为5G随行WiFi Pro 有多强 我们试一下NSA网络下的5G速度
  9. [Asp.net 开发系列之SignalR篇]专题五:SignalR支持的平台
  10. 谁需要这件礼物?每一个爱学习的人!