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

Postman编写测试脚本

在 Postman 中,编写测试脚本通常使用 JavaScript,这些脚本可以在请求发送前后执行。以下是一些示例代码,展示了如何在 Postman 中使用测试脚本。

1. 测试脚本示例:检查响应状态码

// 测试脚本在请求发送后执行
pm.test("Response status code is 200", function () {pm.response.to.have.status(200);
});

2. 测试脚本示例:检查响应体中的数据

// 测试脚本在请求发送后执行
pm.test("Response should have valid data", function () {// 检查响应体是否包含特定的键pm.response.to.have.jsonBody('key');// 检查响应体中的数组长度pm.expect(pm.response.json().array).to.be.an('array').to.not.be.empty;
});

3. 测试脚本示例:设置环境变量

// 可以在请求发送前设置环境变量
pm.environment.set("variableKey", "variableValue");

4. 测试脚本示例:使用前置脚本修改请求

// 前置脚本在请求发送前执行
pm.globals.set("timestamp", new Date().getTime());// 修改请求头
pm.request.headers.add({key: 'Timestamp',value: pm.globals.get("timestamp")
});

5. 测试脚本示例:使用响应数据

// 使用响应数据设置环境变量
pm.test("Extract data from response", function () {var jsonData = pm.response.json();pm.environment.set("responseDataKey", jsonData.someKey);
});

6. 测试脚本示例:断言响应时间

// 检查响应时间是否在一定范围内
pm.test("Response time is less than 200ms", function () {pm.expect(pm.response.responseTime).to.be.below(200);
});

7. 测试脚本示例:使用 Postman 集合变量

// 使用集合变量
var commonHeader = pm.collectionVariables.get("commonHeader");// 添加请求头
pm.request.headers.add({key: commonHeader,value: 'someValue'
});

在 Postman 中,你可以在每个请求的 “Tests” 选项卡中编写测试脚本,或者在 “Pre-request Script” 选项卡中编写前置脚本。这些脚本可以用于设置测试条件、修改请求、验证响应数据等。

请注意,上述代码示例需要根据你的具体需求进行调整。例如,你需要将 'key''variableKey''variableValue''array''someKey' 等替换为实际的键名或值。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • mybatis-plus参数绑定异常
  • 解析Java中1000个常用类:Date类,你学会了吗?
  • 【Unity2D 2022:Particle System】添加命中粒子特效
  • React 中 useEffect
  • JAVA每日作业day7.4
  • 软件是什么?一个软件到底是哪些部分组成的-软件到底有哪些分支呢?
  • Synchronized、volatile与ReentrantLock:Java并发编程中的同步机制比较
  • docker部署mycat,连接上面一篇的一主二从mysql
  • Windows ipconfig命令详解,Windows查看IP地址信息
  • Go 语言入门(一)
  • 策略模式的应用
  • 代码随想录——划分字母区间(Leetcode763)
  • 万界星空科技MES系统中的排版排产功能
  • 刷代码随想录有感(127):动态规划——判断是否为子序列
  • python ui 工作流完善功能
  • hexo+github搭建个人博客
  • JS 中的深拷贝与浅拷贝
  • [ JavaScript ] 数据结构与算法 —— 链表
  • android 一些 utils
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • HTTP--网络协议分层,http历史(二)
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • javascript从右向左截取指定位数字符的3种方法
  • Java编程基础24——递归练习
  • java概述
  • JS学习笔记——闭包
  • PHP那些事儿
  • SpringBoot 实战 (三) | 配置文件详解
  • SpringCloud集成分布式事务LCN (一)
  • 大型网站性能监测、分析与优化常见问题QA
  • 前端自动化解决方案
  • 少走弯路,给Java 1~5 年程序员的建议
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 听说你叫Java(二)–Servlet请求
  • Java性能优化之JVM GC(垃圾回收机制)
  • 组复制官方翻译九、Group Replication Technical Details
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $.ajax()参数及用法
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (2.2w字)前端单元测试之Jest详解篇
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (二)windows配置JDK环境
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .Net 4.0并行库实用性演练
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET之C#编程:懒汉模式的终结,单例模式的正确打开方式
  • @EnableAsync和@Async开始异步任务支持
  • @requestBody写与不写的情况