1. 设置环境变量
  2. pm.environment.set("variable_key", "variable_value");
  3.  
  4. 将一个嵌套的对象设置为一个环境变量
  5. var array = [1, 2, 3, 4];
  6. pm.environment.set("array", JSON.stringify(array, null, 2));
  7.  
  8. var obj = { a: [1, 2, 3, 4], b: { c: 'val' } };
  9. pm.environment.set("obj", JSON.stringify(obj))
  10.  
  11. 获得一个环境变量
  12. pm.environment.get("variable_key");
  13.  
  14. 获得一个环境变量(其值是一个字符串化的对象)
  15. // These statements should be wrapped in a try-catch block if the data is coming from an unknown source.
  16. var array = JSON.parse(pm.environment.get("array"));
  17. var obj = JSON.parse(pm.environment.get("obj"));
  18.  
  19. 清除一个环境变量
  20. pm.environment.unset("variable_key");
  21.  
  22. 设置一个全局变量
  23. pm.globals.set("variable_key", "variable_value");
  24.  
  25. 获取一个全局变量
  26. pm.globals.get("variable_key");
  27.  
  28. 清除一个全局变量
  29. pm.globals.unset("variable_key");
  30.  
  31. 获取一个变量
  32. 该函数在全局变量和活动环境中搜索变量
  33. pm.variables.get("variable_key");
  34.  
  35. 检查响应主体是否包含字符串
  36. pm.test("Body matches string", function () {
  37. pm.expect(pm.response.text()).to.include("string_you_want_to_search");
  38. });
  39.  
  40. 检查响应体是否等于字符串
  41. pm.test("Body is correct", function () {
  42. pm.response.to.have.body("response_body_string");
  43. });
  44.  
  45. 检查JSON
  46. pm.test("Your test name", function () {
  47. var jsonData = pm.response.json();
  48. pm.expect(jsonData.value).to.eql(100);
  49. });
  50.  
  51. Content-Type 存在
  52. pm.test("Content-Type is present", function () {
  53. pm.response.to.have.header("Content-Type");
  54. });
  55.  
  56. 返回时间少于200ms
  57. pm.test("Response time is less than 200ms", function () {
  58. pm.expect(pm.response.responseTime).to.be.below(200);
  59. });
  60.  
  61. 状态码是200
  62. pm.test("Status code is 200", function () {
  63. pm.response.to.have.status(200);
  64. });
  65.  
  66. 代码名包含一个字符串
  67. pm.test("Status code name has string", function () {
  68. pm.response.to.have.status("Created");
  69. });
  70.  
  71. 成功的POST请求状态码
  72. pm.test("Successful POST request", function () {
  73. pm.expect(pm.response.code).to.be.oneOf([201,202]);
  74. });
  75.  
  76. JSON数据使用TinyValidator
  77. var schema = {
  78. "items": {
  79. "type": "boolean"
  80. }
  81. };
  82. var data1 = [true, false];
  83. var data2 = [true, 123];
  84.  
  85. pm.test('Schema is valid', function() {
  86. pm.expect(tv4.validate(data1, schema)).to.be.true;
  87. pm.expect(tv4.validate(data2, schema)).to.be.true;
  88. });
  89.  
  90. 解码base64编码数据
  91. var intermediate,
  92. base64Content, // assume this has a base64 encoded value
  93. rawContent = base64Content.slice('data:application/octet-stream;base64,'.length);
  94.  
  95. intermediate = CryptoJS.enc.Base64.parse(base64content); // CryptoJS is an inbuilt object, documented here: https://www.npmjs.com/package/crypto-js
  96. pm.test('Contents are valid', function() {
  97. pm.expect(CryptoJS.enc.Utf8.stringify(intermediate)).to.be.true; // a check for non-emptiness
  98. });
  99.  
  100. 发送异步请求
  101. 此函数可作为预请求和测试脚本使用
  102. pm.sendRequest("https://postman-echo.com/get", function (err, response) {
  103. console.log(response.json());
  104. });
  105.  
  106. XML主体转换为JSON对象

PostMan Test 的脚本scripts编写方法的更多相关文章

  1. Postman 进阶(pre-request scripts&test script)

    Postman 进阶 1. pre-request scripts   pre-request scripts是一个关联了收藏夹内request,并且在发送request之前执行的代码片段.这对于在r ...

  2. Postman—前置请求脚本

    前言 在前面的文章中已经说到了,在Postman中可以编写以下两种脚本: 前置请求脚本 测试脚本 这两种脚本的运行时机都不一样,在上一篇<Postman—脚本介绍>中已经详细的进行了介绍. ...

  3. Loadrunner录制脚本与编写脚本的区别

    异同点: 1.录制的和编写的脚本质量上没有区别 2.性能脚本关心的是用户和服务器的数据交互,从这点上来看,录制和编写也没有区别,手动编写脚本也可以写出很真实的脚本 3.能录制的情况下,就录制吧,谁每天 ...

  4. [改善Java代码]易变业务使用脚本语言编写

    建议16: 易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP.Ruby.Groovy.JavaScript等,这些“入侵者”都有一个共同特征:全是同一类语言—脚本语言,它们 ...

  5. loadrunner 脚本优化-参数化方法

    脚本优化-参数化方法 by:授客 QQ:1033553122 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Parameter- ...

  6. Linux中脚本的使用方法

    Linux中脚本的使用方法 一.前言 关于Linux中的脚本的用法,一直没有时间去好好地总结,正好今天下雨,就好好的整理一下思路吧,其实精通了一门语言,比如C语言,学习其他语言需要的成本是非常少的,同 ...

  7. 防止xss(脚本攻击)的方法之过滤器

    一  什么是脚本注入 概念我就不说了 直接百度一份 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.比如这些代码包括HTML代码和客户端 ...

  8. selenium从入门到应用 - 2,简单线性脚本的编写

    本系列所有代码 https://github.com/zhangting85/simpleWebtest 本文将介绍一个Java+TestNG+Maven+Selenium的web自动化测试脚本环境下 ...

  9. 【深入浅出 Yarn 架构与实现】3-1 Yarn Application 流程与编写方法

    本篇学习 Yarn Application 编写方法,将带你更清楚的了解一个任务是如何提交到 Yarn ,在运行中的交互和任务停止的过程.通过了解整个任务的运行流程,帮你更好的理解 Yarn 运作方式 ...

随机推荐

  1. CF #552(div3)F 背包问题

    题目链接:http://codeforces.com/contest/1154/problem/F 题意:一个商店有n个物品,每个物品只能买一次,同时有m种优惠,即一次买够x件后,这x件中最便宜的k件 ...

  2. Java POJO类直接存储在MongoDB中

    记录Java POJO类直接存储在MongoDB中的策略. maven: <dependency> <groupId>org.mongodb</groupId> & ...

  3. 下面程序的输出结果是____ A:11,10 B:11,11 C:10,10 D:10,11 int x=10; int y=x++; printf("%d,%d",(x++,y),y++);

    下面程序的输出结果是____ A:11,10 B:11,11 C:10,10 D:10,11 int x=10; int y=x++; printf("%d,%d",(x++,y) ...

  4. ApiCloud开发的注意事项

    1. 引擎或模块问题:遇到应用层无法解决的问题,如果能确定需要引擎和模块支持的,不要自己想办法绕过去,要第一时间在开发者社区提交问题,或找APICloud项目经理提出. !!!注意!!!: 在开发者社 ...

  5. 构建web应用之——文件上传

    我们通过使用multipart请求数据接收和处理二进制信息(如文件).DispatcherServlet并没有实现任何解析multipart请求数据的功能,它将该任务委托给了Spring中的multi ...

  6. 微信浏览器无法跳转到apk下载链接 微信屏蔽了我的APP下载链接如何处理

    由于微信的限制,应用文件在内置浏览器中下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时,界面显示一片空白,容易误导以为在下载呢 <!DOCTYPE html><html>&l ...

  7. 怎样用div做三角形

    20181204 用盒子模型做三角形的效果: <div></div> width:0px; height:0px; border:10px solid red; border- ...

  8. Linux权限总结

    第1章 课前小拓展 虚拟机打不开原因 问题: 该虚拟机似乎正在使用中. 如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权.否则,请按“取消(C)”按钮以防损坏. 配置文件: E:\vm ...

  9. C#Mvc批量删除

    前台页面(JQuery) @*全选&批删*@<script type="text/javascript"> $(document).ready(function ...

  10. react native第一天--------KnightRider

    今天是2017年6月8,是我的项目react native-CRM(用户关系管理)的第一天,一早就配置了一上午Mac的环境,然后运行项目,在react-native init project的时候一直 ...