zoukankan      html  css  js  c++  java
  • Postman使用

     一、安装Postman

    二、PostMan基本功能介绍

     collection在postman里面相当于一个文件夹,可以把同一个项目的请求放在一个Collection里方便管理和分享,Collection里面也可以再建文件夹。

     

     请求区域介绍:

     

       Authorization身份验证,主要用来填写用户名密码,以及一些验签字段,postman有一个helpers可以帮助我们简化一些重复和复杂的任务。当前的一套helpers可以帮助你解决一些authentication protocols的问题。;

    2    Headers请求的头部信息

    3    Bodypost请求时必须要带的参数,里面放一些key-value键值对

    4    Pre-requerst Script:可以让你在 请求之前自定义请求数据,这个运行在请求之前,语法使用JavaScript语句。

    5    teststests标签功能比较强大,通常用来写测试,它是运行在请求之后。支持JavaScript语法。postman每次执行request的时候,会执行tests。测试结果会在teststab上面显示一个通过的数量以及对错情况。这个后面会进行详解,它也可以用来设计用例,比如要测试返回结果是否含有某一字符串

    6    form-data,它将表单数据处理为一条消息,以标签为单元,用分隔符分开。既可以单独上传键值对,也可以直接上传文件(当上传字段是文件时,会有Content-Type来说明文件类型,但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。);post请求里较常用的一种

     

    7    x-www-form-urlencoded:对应信息头-application/x-www-from-urlencoded,会将表单内的数据转换为键值对;

    8    raw:可以上传任意类型的文本,比如textjsonxml,所有填写的text都会随着请求发送;

    我们的请求一般输出为json格式,所以请求头为Content-Type:application/json

     Body格式选择raw,并且数据外面包裹一对花括号,这样才能正确转化成json格式的数据

    9    binary:对应请求头-Content-Type:application/octet-stream,只能上传二进制文件,且没有键值对,一次只能上传一个文件也不能保存历史,每次选择文件,提交;

     三、导出和导入接口集:

    postman支持非常方便的导入和导出接口集

     

     

     四、Postman中的tests

     1测试response Headers中的某个元素是否存在

    tests["元素Content-Type是否存在"] = postman.getResponseHeader("Content-Type");

    //getResponseHeader()方法会返回header的值;

    2定义一个xxx,获取headersvar.xxx = postman.getResponseHeader("key");

    Headers中的值设置为一个环境变量 postman.setEnvironmentVariable("key",xxx);

    或者pm.environment.set("key",xxx);

    3)检查responsecode值是否为200

    tests["Status code is 200"] = responseCode.code === 200;

    // tests["Status code is 200"]中的tests是一个内置对象,

    tests["Status code is 200"]是指为这个断言起个名称叫”Status code is 200”,这个名称可以自行修改。

    responseCode.code === 200中的responseCode是内置对象,responseCode对象中有个属性是code,是指HTTP状态码的code,判断code是否为200.

    意思是:名称为”Status code is 200”的断言中,判断responseCode对象的code属性值(HTTP状态码)是否为200

     4)检查responsebody中是否包含字符串

    tests["Body matches string"] = responseBody.has("type");

    // tests["Body matches string"]中的tests是一个内置对象,

    tests["Body matches string"]是指为这个断言起个名称叫”Body matches string”,这个名称可以自行修改。

    意思是:名称为”Body matches string”的断言中判断响应正文中是否包含:type这个字段。type无论是key或者value,只要匹配就可以。多个类型可用分割。

     5)检查Response Body是否等于字符串

    tests["测试点"] = responseBody === "Response Body返回的内容";

    //这个可以用在接口返回内容为纯字符串时,直接检查整个返回结果的正确性

    6)检查Response time 是否小于200ms

     tests["Response time 小于200毫秒"] = responseTime < 200;

    7)检查Response time 是否大于200ms

     tests["Response time 大于200毫秒"] = responseTime > 200;

    8设置一个随机数变量 pm.globals.set("type",parseInt(4*Math.random())+1);

    //针对不同类型的课程类型,设置一个14的随机整数,字段名是type,parselnt 是强制转换为整数

    9校验接口返回是否有数据 tests["获取第一个结果"] = xxx.content.jieguo[0];

    //我的程序设置的是如果当前没有数据,则只返回content[],所以这句断言可以校验,如果content里还有数据,则视为返回不为空

    五、使用postman进行接口自动化测试

     

     

     

  • 相关阅读:
    Python sys.argv用法详解及应用
    Python map() 函数
    Python中enumerate用法详解
    闭包,作用域链,垃圾回收,内存泄露
    jQuery 常用代码集锦
    关于作用域和作用域链最完整的简述
    git 合并commit
    apollo-client
    关于对称加密和解密
    接口校验机制
  • 原文地址:https://www.cnblogs.com/sxhlf/p/14001371.html
Copyright © 2011-2022 走看看