test examples/test scripts
- //https://www.getpostman.com/docs/v6/postman/scripts/test_examples
- //Setting an environment variable
- pm.environment.set("variable_key", "variable_value");
- //Setting a nested object as an environment variable
- var array = [1, 2, 3, 4];
- pm.environment.set("array", JSON.stringify(array, null, 2));
- var obj = { a: [1, 2, 3, 4], b: { c: 'val' } };
- pm.environment.set("obj", JSON.stringify(obj));
- //Getting an environment variable
- pm.environment.get("variable_key");
- //Getting an environment variable (whose value is a stringified object)
- //-- These statements should be wrapped in a try-catch block if the data is coming from an unknown source.
- var array = JSON.parse(pm.environment.get("array"));
- var obj = JSON.parse(pm.environment.get("obj"));
- ---------------------------------------------------
- //Clear an environment variable
- pm.environment.unset("variable_key");
- //Set a global variable
- pm.globals.set("variable_key", "variable_value");
- //Get a global variable
- pm.globals.get("variable_key");
- //Clear a global variable
- pm.globals.unset("variable_key");
- //Get a variable
- //This function searches for the variable across globals and the active environment.
- pm.variables.get("variable_key");
- //Check if response body contains a string
- pm.test("Body matches string", function () {
- pm.expect(pm.response.text()).to.include("string_you_want_to_search");
- });
- //Check if response body is equal to a string
- pm.test("Body is correct", function () {
- pm.response.to.have.body("response_body_string");
- });
- //Check for a JSON value
- pm.test("Your test name", function () {
- var jsonData = pm.response.json();
- pm.expect(jsonData.value).to.eql(100);
- });
- //Content-Type is present
- pm.test("Content-Type is present", function () {
- pm.response.to.have.header("Content-Type");
- });
- //Response time is less than 200ms
- pm.test("Response time is less than 200ms", function () {
- pm.expect(pm.response.responseTime).to.be.below(200);
- });
- //Status code is 200
- pm.test("Status code is 200", function () {
- pm.response.to.have.status(200);
- });
- //Code name contains a string
- pm.test("Status code name has string", function () {
- pm.response.to.have.status("Created");
- });
- //Successful POST request status code
- pm.test("Successful POST request", function () {
- pm.expect(pm.response.code).to.be.oneOf([201,202]);
- });
- //Use TinyValidator for JSON data
- var schema = {
- "items": {
- "type": "boolean"
- }
- };
- var data1 = [true, false];
- var data2 = [true, 123];
- pm.test('Schema is valid', function() {
- pm.expect(tv4.validate(data1, schema)).to.be.true;
- pm.expect(tv4.validate(data2, schema)).to.be.true;
- });
- //Decode base64 encoded data
- var intermediate,
- base64Content, // assume this has a base64 encoded value
- rawContent = base64Content.slice('data:application/octet-stream;base64,'.length);
- intermediate = CryptoJS.enc.Base64.parse(base64content); // CryptoJS is an inbuilt object, documented here: https://www.npmjs.com/package/crypto-js
- pm.test('Contents are valid', function() {
- pm.expect(CryptoJS.enc.Utf8.stringify(intermediate)).to.be.true; // a check for non-emptiness
- });
- //Send an asynchronous request
- //This function is available as both a pre-request and test script.
- pm.sendRequest("https://postman-echo.com/get", function (err, response) {
- console.log(response.json());
- });
- //Convert XML body to a JSON object
- var jsonObject = xml2Json(responseBody);
- Sample data files
- //JSON files are composed of key/value pairs.
- Download JSON file
- For CSV files, the top row needs to contain variable names.
- //Download CSV file
- //Set the request to be executed next
- postman.setNextRequest("request_name");
- //Stop workflow execution
- postman.setNextRequest(null);
- postman.getResponseHeader(headerName)
- /*Test-only: returns the response header with name “headerName”, if it exists. Returns null if no such header exists. Note: According to W3C specifications, header names are case-insensitive. This method takes care of this. */
- //will return the same value.
- postman.getResponseHeader("Content-type")
- postman.getResponseHeader("content-Type")
- pm.test("A single user was returned", function () {
- pm.expect(pm.response.json().results).to.have.lengthof(1);
- });
- //Gender tests
- pm.test("Gender is male", function () {
- pm.expect(pm.response.json().result[0].gender).to.equal("male");
- pm.expect(pm.response.json().result[0].gender).to.equal("mr");
- });
- //National test
- pm.test("The user is from the United States", function () {
- pm.expect(pm.response.json().result[0].nat).to.equal("US");
- });
- //----------------------------------------------------
- //Here are some examples:
- // example using pm.response.to.have
- pm.test("response is ok", function () {
- pm.response.to.have.status(200);
- });
- // example using pm.expect()
- pm.test("environment to be production", function () {
- pm.expect(pm.environment.get("env")).to.equal("production");
- });
- // example using response assertions
- pm.test("response should be okay to process", function () {
- pm.response.to.not.be.error;
- pm.response.to.have.jsonBody("");
- pm.response.to.not.have.jsonBody("error");
- });
- // example using pm.response.to.be*
- pm.test("response must be valid and have a body", function () {
- // assert that the status code is 200
- pm.response.to.be.ok; // info, success, redirection, clientError, serverError, are other variants
- // assert that the response has a valid JSON body
- pm.response.to.be.withBody;
- pm.response.to.be.json; // this assertion also checks if a body exists, so the above check is not needed
- });
test examples/test scripts的更多相关文章
- NGUI学习笔记(一)UILabel介绍
来个前言: 作为一个U3D程序员,自然要写一写U3D相关的内容了.想来想去还是从UI开始搞起,可能这也是最直观同时也最重要的部分之一了.U3D自带的UI系统,也许略坑,也没有太多介绍的价值,那么从今天 ...
- react-router+webpack+gulp路由实例
背景:新项目要开始了,有一种想要在新项目中使用react的冲动,应该也是一个单页面的应用,单页应用就涉及到一个路由的问题.于是最近在网上找了蛮多关于react-router的文章,也遇到了许多的坑,经 ...
- SteamVR Unity工具包(VRTK)之激光和移动
简单激光指针(VRTK_ SimplePointer) 简单指针(Simple Pointer)脚本从控制器尾部发出一个有色光束来模拟激光束.这在场景中指向对象很有用,它能判断所指向的对象以及对象距控 ...
- SteamVR Unity工具包(VRTK)之概览和控制器事件
快速上手 · 克隆仓库 git clone https://github.com/thestonefox/SteamVR_Unity_Toolkit.git · 用Unity3d打开SteamVR_ ...
- datatables使用总结篇
<!doctype html> <html> <head> <meta charset="gbk"/> <meta name= ...
- 深入理解Fabric环境搭建的详细过程
博主之前的文章都是教大家怎么快速的搭建一个Fabric的环境,但是其中大量的工作都隐藏到了官方的脚本中,并不方便大家深入理解其中的过程,所以博主这里就将其中的过程一步步分解,方便大家! 前面的准备工作 ...
- 记一次安装Ipython的流程
这是一个悲伤的安装ipython的过程. 写下来留个教训吧. 也是希望对博友一些帮助吧. 注: 我也写了一篇window下安装bpython的文章(个人感觉bpython要比ipython强大的多), ...
- coTurn 运行在Windows平台的方法及服务与客户端运行交互流程和原理
coTurn是一个开源的STUN和TURN及ICE服务项目,只是不支持Windows.为了在window平台上使用coTurn源码,需要在windows平台下安装Cygwin环境,并编译coTurn源 ...
- [uboot] (第四章)uboot流程——uboot编译流程
http://blog.csdn.net/ooonebook/article/details/53000893 以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为 ...
随机推荐
- 【Spring Boot && Spring Cloud系列】在spring-data-Redis中如何使用切换库
前言 Redis默认有16个库,默认连接的是index=0的那一个.这16个库直接是相互独立的. 一.在命令行中切换 select 1; 二.在Spring中如何切换 1.在RedisConnecti ...
- JVM常用工具使用之jmap
一.参考链接 https://www.cnblogs.com/yjd_hycf_space/p/7753847.html 二.个人的总结 一般我习惯使用 jmap -dump:live,format= ...
- Unity3D Shader图像扭曲过场效果
把脚本挂在摄像机上 using UnityEngine; using System.Collections; [RequireComponent(typeof(Camera))] public cla ...
- “找女神要QQ号码”——java篇
题目就是这样的: 给了一串数字(不是QQ号码),根据下面规则可以找出QQ号码: 首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾...... 如此 ...
- spring boot 通过Maven + tomcat 自动化部署
使用maven创建的springboot项目,默认是jar包,springboot还有自己带的tomcat. 现在为了简单实现本地自动发布项目到服务器,需要通过发布war包的形式,通过maven将项目 ...
- python偏函数的运用
摘要:python的设计核心原则就是简洁——在这种原则的指导下,诞生了lambda表达式和偏函数:二者都让函数调用变得简洁.本文主要为你介绍偏函数的应用. 1.为什么要使用偏函数 如果我们定义了一个函 ...
- 富文本编辑器TinyMCE
最近项目中用到了javascript富文本编辑器,从网上找开源控件,发现很多可选,参考下面文章,列出了很多可用的插件http://www.cnblogs.com/ywqu/archive/2009/1 ...
- postgresql----数组类型和函数
postgresql支持数组类型,可以是基本类型,也可以是用户自定义的类型.日常中使用数组类型的机会不多,但还是可以了解一下.不像C或JAVA高级语言的数组下标从0开始,postgresql数组下标从 ...
- Java除法和js
java 除 向下取整 js 保留小数
- poj3264 balanced lineup【线段树】
For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the same order. One d ...