当前位置: 首页 > news >正文

接口测试 | Postman的安装和测试使用

Postman的安装和使用

  • 安装Postman 插件newman
    • 第一步:安装Node.js
    • 第二步:安装newman
    • 第三步:安装newman-reporter-html
  • 三者关系
    • 1. Node.js:底层运行环境
    • 2. Newman:Postman 的命令行核心工具
    • 3. newman-reporter-html:Newman 的“报告插件”
  • Postman执行测试抓包
    • 1. GET测试
    • 2. POST请求
    • 3. Postman发送登录请求
  • Postman高级用法
    • 4. 管理Collections
      • 创建子模块和请求
      • 导出用例集
    • 5. Postman实现断言
      • 1.断言响应状态码
      • 2.断言响应体是否包含某个字符串
      • 3.断言响应体是否等于某个字符串(对象)
      • 4.断言JSON数据
      • 5.断言响应头
    • 6. 断言的工作原理

注册免费账户前请注意:建议在网速良好的环境下操作,因涉及境外网站访问。

在这里插入图片描述
在这里插入图片描述

安装Postman 插件newman

第一步:安装Node.js

在这里插入图片描述

第二步:安装newman

安装newmanl时,必须保证node.js已经装成功!!!
在线安装命令:npm install -g newman
在这里插入图片描述
在这里插入图片描述

第三步:安装newman-reporter-html

安装命令:npm instal-g newman-reporter-html
同样,尽量保证网络稳定。安装时,尽量不要动终端界面。
在这里插入图片描述

三者关系

要理清它们的关系,需从依赖层级、安装前提、功能分工三个角度看:

1. Node.js:底层运行环境

Newman 是基于 Node.js 开发的命令行工具,而 Node.js 是 JavaScript 的运行时环境(提供了 npm 包管理器)。

→ 关系:Node.js 是安装和运行 Newman 的“前提基础”——必须先装 Node.js,才能用 npm 安装 Newman。

2. Newman:Postman 的命令行核心工具

Newman 是 Postman 的“命令行版本”,能在终端中运行 Postman 的集合(Collection),实现接口自动化测试。

→ 关系:Newman 依赖 Node.js 运行,且是 newman-reporter-html 的“宿主工具”(newman-reporter-html 是给 Newman 用的插件)。

3. newman-reporter-html:Newman 的“报告插件”

它是 Newman 的一个扩展插件,作用是将 Newman 运行测试后的结果,生成HTML格式的可视化报告

→ 关系:newman-reporter-html 依赖 Newman——必须先装 Newman,才能用 npm 安装这个“报告生成插件”,让 Newman 具备生成 HTML 报告的能力。

Node.js(基础环境) → Newman(核心工具,依赖 Node.js) → newman-reporter-html(报告插件,依赖 Newman)。

Postman执行测试抓包

1. GET测试

在这里插入图片描述

2. POST请求

在这里插入图片描述
在这里插入图片描述

实际返回结果“验证码错误”与业务有关

3. Postman发送登录请求

从接口文档,获取登录接口的http请求,使用Postman发送

在这里插入图片描述

Postman高级用法

在 Postman 中,Collections(集合)是用于组织、管理 API 请求的 “分组容器”,可理解为 “API 请求的文件夹”,能将多个相关的 HTTP 请求(如项目的登录、数据查询、提交等接口)归类管理,核心作用是提升 API 开发 / 测试的效率

4. 管理Collections

创建子模块和请求

在这里插入图片描述

第一步 创建 Collections
在这里插入图片描述
第二步 添加请求
在这里插入图片描述
在这里插入图片描述

导出用例集

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 导入用例集
    在这里插入图片描述
    在这里插入图片描述

5. Postman实现断言

  • Postman断言借助JavaScript-js语言编写代码,自动判断预期结果与实际结果是否一致。
  • 断言代码写在Tests的标签中。
    在这里插入图片描述

1.断言响应状态码

  1. 在Tests标签中,选中Status Code:code is200,生成对应代码
  2. 适当调整test0方法参数1,和匿名函数中的预期结果。
  3. 点击send按钮,发送请求,执行断言代码。
  4. 查看断言结果。
//断言响应状态码是否为200
pm.test("status code is 200",function ()pm.response.to.have.status(200);
});pm:代表postman的一个实例test():是pm实例的一个方法。有两个参数参数1:在断言成功后,给出的文字提示。可以修改。"Status code is200"参数2:匿名函数。
pm.response.to.have.status (200);//意思:postman的响应结果中应该包含状态码200
200-->预期结果!
  • 断言正确
    在这里插入图片描述
  • 断言错误
    在这里插入图片描述

2.断言响应体是否包含某个字符串

Response body:Contains string

// 断言响应体包含指定字符串
pm.test("Body matches string",function () {pm.expect(pm.response.text()).to.include("string_you_want_to_search");});pm:postman的一个实例6test():postman实例的方法,有两个参数参1:断言后显示的文字提示信息,可改。参2:匿名函数
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
//意思:pm期望响应文本中,包含xxxx字符串。 "string.-you_want_to_search"->预期结果。可以修改

在这里插入图片描述

3.断言响应体是否等于某个字符串(对象)

Response body:Is equal to a string

//断言
响应体等于某个字符串(对象)
pm.test("Body is correct",function (){pm.response.to.have.body("response_body_string");
});
pm.response.to.have.body("response_body_string");
//意思是,pm的响应中应该有响应体xxx
"response_.body_string"->预期结果。可以修改

在这里插入图片描述

4.断言JSON数据

Response body:JSON value check

//断言json的响应结果
pm.test("Your test name",function (){var jsonData pm.response.json();pm.expect(jsoneata.value).to.eql(100)
});var jsonData pm.response.json();//var jsonData用js语法定义-一个变量。jsonData就是变量名//pm.response.json();代表响应的json结果//举例:response.json();/*"success":true,"code":10000,"message":"操作成功!""data":"95c78d75-721c-40fb-b2d5-742fea42cbd5"/
pm.expect(jsonData.value).to.eql(100);
//pm 预期json结果key对应的值等于xxx
/*举例:jsonData.value的value:取:success、code、message、data
*/

在这里插入图片描述
在这里插入图片描述

5.断言响应头

Response headers:Content-Type header check 【响应头不只:Content-Type】

//断言响应头
pm.test("Content-Type is present",function (){pm.response.to.have.header("Content-Type");
});
pm.response.to.have.header("Content-Type");
pm的响应头中包含Content-Type
//示例:可以在header中,添加响应头中的key对应的value判定。用,隔分。
//断言响应头
pm.test("Content-Type is present",function (){pm.response.to.have.header("Content-Type","application/json;charset=UTF-8");
});

在这里插入图片描述
在这里插入图片描述

6. 断言的工作原理

在这里插入图片描述

http://www.dtcms.com/a/487903.html

相关文章:

  • 江门广告网站推广技巧网站全部用根目录
  • Linux -- 线程概念
  • 湛江免费建站杭州网络有限公司
  • Zabbix 监控系统模板、监控项、图形方位指南
  • 网站建设都有哪些搬瓦工wordpress
  • 网站不交换友情链接可以吗网站建设公司讯息
  • 免费建微网站平台网站建设福州
  • 迁移后运维与监控:构建企业级RustFS运维体系
  • 做网站优化竞价区别wordpress选了中文还是英文版
  • c2c网站建设要多少钱北京市建设质量监督网站
  • 【Linux系统】文件IO
  • 网站建设咨询什么wordpress 热门关键字
  • 制作网站首先要知道什么做网站运用的技术
  • discuz做的网站做英文网站要会什么
  • 如何在国外网站做免费推广发布网站后备案
  • 网站制作建设公司wordpress vue
  • 广州网站建设哪里好外网网站管理制度建设
  • 网站推广工作是在网站发布之后开展的龙海网络推广
  • Debian12安装Docker、Docker-compose构建CICD
  • AI在物理实验教育中的应用探索
  • 第四章 决策树
  • 【算法】725.分割链表--通俗讲解
  • 哈尔滨网站seowordpress域名设置
  • kettle Spoon 数据库连接步骤详解
  • 网站建设要做什么网站美化
  • Springboot——使用shyiko监听mysql的bin-log
  • 英特尔Day0适配Qwen3-VL-4B/8B新模型,释放系统资源带来流畅体验
  • 深度解析TENGJUN JA017-BPD105-A-SLIP-RING 10极滑动环耳机插座
  • 网站建设培训学校北京怎么做外网的网站
  • 东方网站建设展馆设计网站推荐