zoukankan      html  css  js  c++  java
  • 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
    });
  • 相关阅读:
    POJ 1426 Find The Multiple(数论——中国同余定理)
    POJ 2253 Frogger(Dijkstra变形——最短路径最大权值)
    POJ 3790 最短路径问题(Dijkstra变形——最短路径双重最小权值)
    POJ 3278 Catch That Cow(模板——BFS)
    HDU 1071 The area
    HDU 1213 How Many Tables(模板——并查集)
    POJ 1611 The Suspects
    light oj 1214 Large Division
    POJ 1258 Agri-Net(Prim算法求解MST)
    POJ 2387 Til the Cows Come Home(模板——Dijkstra算法)
  • 原文地址:https://www.cnblogs.com/jpr-ok/p/9121905.html
Copyright © 2011-2022 走看看