Postman简单的接口测试
DownloadPostmanApp
https://www.getpostman.com/downloads/
https://www.getpostman.com/downloads/canary
什么是断言(Assert):预期结果与实际结果的判断。
预期结果 == 实际:用例通过,写到报告里
预期 != 实际:用例失败写到报告里
一般情况下:断言只针对状态码 (200,400,500等)和Responses的Body(body中的json解析成JS对象)
postman的Test功能:可以去执行js的一个隔离的环境
设置全局变量(有些时候一个值会关联到所有脚本的测试 需要定义为全局变量)
设置环境变量(通过环境变量可以让脚本既能在测试环境执行又能在正式环境执行)
拿到并处理请求的响应
定义测试检测点和断言(注意 js里面 三个等于号代码类型和值完全匹配)

sandbox:在postman中运行一些JavaScript代码的地方(可以使用chai语法 独立版Postman才能使用的)
公共库(JavaScript)
环境变量与全局变量
动态变量
操作cookie
获取查看请求以及响应
读取数据文件
相关文档:https://learning.getpostman.com/docs/postman/scripts/postman_sandbox_api_reference/
//chai语法
pm.test("返回正确的状态码", function () {
pm.expect(pm.response).to.have.status(200);
pm.expect(pm.response).to.be.success;
});
Postman做ui测试
思路
发请求去拿到网站响应的->html
解析html标签,判断一些元素是否显示
目的
快速检查ui是否正确
用到的库 https://cheerio.js.org/

//加载(请求)cheerio
var cheerio = require('cheerio');
$ = cheerio.load(responseBody);
pm.test("返回值是否是成功200",function(){
//返回值是否是成功200
pm.response.to.be.success;
});
pm.test("必须包含4门课程",function(){
//判断网页中是否包含4个.$ervive-block-in 类的标签
pm.expect($('.servive-block-in').length === 4)
});

常见的请求方法:GET :获取资源可以获取一组资源也可以获取一个资源。
POST:创建资源创建一个资源或创建一组资源。
PUT:和PATCH:更新一些资源。
DELETE:删除一个资源。

Postman的调试与打印

鉴权: 有些api在访问之前必须登录
collection的作用
容器
组织业务逻辑
导入导出
其他功能,比如监控和mock server
变量:环境变量 本地变量 全局变量
Global:全局,比如可以将错误提示信息设置为全局变量
Environment:环境变量,比如可以将测试domain设置成环境变量
Local:本地变量,一般可以在sandbox中定义
Data:测试数据中导入的变量,也就是所谓的参数化

pm.test("请求成请求的状态码是 200", function () {
pm.response.to.have.status(200);
});
var jsonData = JSON.parse(responseBody);
//获取环境变量注意这个方法没有返回值
console.log(pm.environment.get('node_name'));
tests['返回值的name必须跟参数中的name相等'] = jsonData.name === pm.environment.get('node_name');

运行测试用例:


用例运行结果:

构造测试数据:

将刚才生成的string 新建一个文本文档:

将制作好的json导入:

点击preview可以预览:


生成测试报告

Postman简单的接口测试的更多相关文章
- postman 简单教程-实现简单的接口测试
最近开始做接口测试了,因为公司电脑刚好有postman,于是就用postman来做接口测试,哈哈哈哈,...postman 功能蛮强大的,还比较好用,下面说下postman如何来测试接口 1.下载po ...
- postman简单接口测试
Postman简单接口测试 1. get请求: a. 选择get请求时,地址栏输入地址,如果需要添加参数,可以直接在地址栏加?后面写参数,也可以在点击params添加参数 b. 在headers中添加 ...
- SpringBoot | 第十五章:基于Postman的RESTful接口测试
前言 从上一章节开始,接下来的几个章节会讲解一些开发过程中配套工具的使用.俗话说的好,工欲善其事,必先利其器.对于开发人员而言,有个好用的工具,也是一件事半功倍的事,而且开发起来也很爽,效率也会提升很 ...
- Postman如何做接口测试,那些不得不知道的技巧
Postman如何做接口测试1:如何导入 swagger 接口文档 在使用 postman 做接口测试过程中,测试工程师会往界面中填入非常多的参数,包括 url 地址,请求方法,消息头和消息体等一系列 ...
- pytest.8.使用pytest做简单的接口测试
From: http://www.testclass.net/pytest/test_api/ 背景 我们现在需要测试v2ex网站的查看论坛节点信息的api.具体如下: 节点信息 获得指定节点的名字, ...
- Postman进行webservices接口测试
1.接口地址 webservices是什么? 更多webservices接口地址访问地址:http://www.webxml.com.cn/zh_cn/web_services.aspx webser ...
- 使用postman玩转接口测试
(一)前言: 之前搞自动化接口测试,由于接口的特性,要验证接口返回xml中的数据,所以没找到合适的轮子,就自己用requests造了个轮子,用着也还行,不过就是case管理有些麻烦,近几天又回头看了看 ...
- postman简单教程,使用tests模块来验证接口时是否通过
接口测试醉重要的就是返回数据的检查,一个简单的接口,我们可以肉眼检查返回数据,但接口一旦多起来且复杂,每次的检查都会很费劲,此时我们就需要postman 的tests模块来代替 概念: Postman ...
- postman简单教程,如何在请求中引用上次请求返回的值
做接口测试,一定会遇到这种情况,需要拿上次请求的值在本次请求中使用,比如,我们去测试一个东西,要去登录才能做其他的操作,需要拿到登录返回数据中的某些字段,比如,token啊等... 如果发一次请求,就 ...
随机推荐
- DP&图论 DAY 3 下午 考试
Problem AProblem Description有一天 Tarzan 写了一篇文章,我们发现这文章当中一共出现了 n 个汉字,其中第 i 个汉字出现了 ai 次,因为 Tarzan 不希望文章 ...
- Dom4j工具j解析XML原理和示例代码
import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; i ...
- Tooltip 文字提示
常用于展示鼠标 hover 时的提示信息. 基础用法 在这里我们提供 9 种不同方向的展示方式,可以通过以下完整示例来理解,选择你要的效果. 使用content属性来决定hover时的提示信息.由pl ...
- java源码-ReentrantLock源码分析-1
ReentrantLock 继承于lock是比较常用的独占锁,接下来我们来分析一下ReentrantLock源码以及接口设计: Sync是ReentrantLock的内部静态抽象类继承Abstract ...
- PHP $_SERVER超全局变量
$_SERVER是php中的超全局变量,一个包含了诸如头信息(header).路径(path).以及脚本位置(script locations)等等信息的数组.这个数组中的项目由 Web 服务器创建. ...
- 【HANA系列】SAP HANA SQL从给定日期中获取分钟
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL从给定日 ...
- re 正则匹配的非贪婪匹配
非贪婪匹配 将尽可能少的匹配内容,当?出现在其他的重复次数后面时会将贪婪模式改为非贪婪模式. ? 如 abc.*? abc.+? 非贪婪匹配:尽可能少的匹配{n,}?{,n}?{n,m}?*? # * ...
- mysql——修改表名、修改字段名、修改字段数据类型、增加字段、删除字段、修改字段排列位置、修改存储引擎、删除表 (示例)
一.创建表和插入数据: ), mz ), bz ) ); ,'sww','sww01'); ,'aww','aww02'); ,'qww','qww03'), (,'eww','eww04'), (, ...
- mac环境提示:make sure that /usr/local/bin is in your path
今天我在Mac环境下安装了Homebrew和node.js后,输入node -v.brew.npm都提示: command not found,然后我查看了下Homebrew的安装日志,发现日志里有个 ...
- 【Spring Cloud】Spring Cloud使用总结
项目概要 项目环境信息 IDEA ultimate 2018.3.2 springboot 2.1.7.RELEASE springCloud Greenwich.SR2 Eureka 介绍 基于ne ...