zoukankan      html  css  js  c++  java
  • Postman简单的接口测试

    DownloadPostmanApp
    https://www.getpostman.com/downloads/

    https://www.getpostman.com/downloads/canary

    什么是断言(Assert):预期结果与实际结果的判断。

      预期结果 == 实际:用例通过,写到报告里

      预期 != 实际:用例失败写到报告里

      一般情况下:断言只针对状态码 (200,400,500等)和Responses的Body(body中的json解析成JS对象)

      

    postman的Test功能:可以去执行js的一个隔离的环境

        设置全局变量(有些时候一个值会关联到所有脚本的测试 需要定义为全局变量)

        设置环境变量(通过环境变量可以让脚本既能在测试环境执行又能在正式环境执行)

        拿到并处理请求的响应

        定义测试检测点和断言(注意 js里面 三个等于号代码类型和值完全匹配)

    sandbox:在postman中运行一些JavaScript代码的地方(可以使用chai语法 独立版Postman才能使用的)

      公共库(JavaScript)

      环境变量与全局变量

      动态变量

      操作cookie

      获取查看请求以及响应

      读取数据文件

      相关文档:https://learning.getpostman.com/docs/postman/scripts/postman_sandbox_api_reference/

      

      //chai语法
      pm.test("返回正确的状态码", function () {
        pm.expect(pm.response).to.have.status(200);
        pm.expect(pm.response).to.be.success;
      });

      Postman做ui测试

      思路

        发请求去拿到网站响应的->html

        解析html标签,判断一些元素是否显示

      目的

        快速检查ui是否正确

      用到的库 https://cheerio.js.org/


      //加载(请求)cheerio
      var cheerio = require('cheerio');
      $ = cheerio.load(responseBody);

      pm.test("返回值是否是成功200",function(){
        //返回值是否是成功200
        pm.response.to.be.success;
      });

      pm.test("必须包含4门课程",function(){
      //判断网页中是否包含4个.$ervive-block-in 类的标签
        pm.expect($('.servive-block-in').length === 4)
      });

    常见的请求方法:GET :获取资源可以获取一组资源也可以获取一个资源。

            POST:创建资源创建一个资源或创建一组资源。

            PUT:和PATCH:更新一些资源。

            DELETE:删除一个资源。

     Postman的调试与打印

       鉴权: 有些api在访问之前必须登录

      collection的作用

      容器

      组织业务逻辑

      导入导出

      其他功能,比如监控和mock server

       

      变量:环境变量 本地变量 全局变量

      Global:全局,比如可以将错误提示信息设置为全局变量

      Environment:环境变量,比如可以将测试domain设置成环境变量

      Local:本地变量,一般可以在sandbox中定义

      Data:测试数据中导入的变量,也就是所谓的参数化

      pm.test("请求成请求的状态码是 200", function () {
        pm.response.to.have.status(200);
      });

      var jsonData = JSON.parse(responseBody);


      //获取环境变量注意这个方法没有返回值
      console.log(pm.environment.get('node_name'));

      tests['返回值的name必须跟参数中的name相等'] = jsonData.name === pm.environment.get('node_name');

       

      运行测试用例:

         

      用例运行结果:

      

      构造测试数据:

       将刚才生成的string 新建一个文本文档:

     

       将制作好的json导入:

      

      点击preview可以预览:

     生成测试报告

  • 相关阅读:
    innodb的存储结构
    使用zabbix邮件发送报表
    如何使用yum下载rpm包
    redis cluster节点管理测试
    redis迁移工具-redis-migrate-tool使用测试
    redis客户端连接异常
    redis sentinel基本命令与参数
    [转]redis-cli的一些有趣也很有用的功能
    [转]为什么使用 Redis及其产品定位
    Redis多机常用架构-cluster
  • 原文地址:https://www.cnblogs.com/henanleon/p/11287785.html
Copyright © 2011-2022 走看看