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

    接口测试准备

      1、项目部署

      2、查看接口文档

      3、设计和编写测试用例

      4、执行测试用例

      5、接口缺陷管理与跟踪

    1、项目部署

      所需文件下载:https://lyang.lanzoui.com/iSjApr9i9ra

    学生管理系统环境搭建

      1、根据素材 学生管理系统项目 中的启动说明进行操作

        安装python环境 推荐python3.5以上版本

        安装依赖模块:pip install -r requirements.txt -i https://pypi.douban.com/simple

        启动命令:python run_server.py

        默认端口是8000,地址本机ip

      2、测试环境是否正确

        浏览器输入 http://127.0.0.1:8000/api/departments/ 只要有相关数据即可

    提示:使用sqlitestudio工具打开sqlite3数据库查看对应的数据

    2. 查看接口文档

      说明:这里只展示了部分接口,具体的接口信息以开发的接口文档为主。

    3. 设计和编写测试用例

    4. 执行测试用例

      根据编写好的测试用例进行执行,验证功能是否满足需求。

    5. 接口缺陷管理与跟踪

      在执行测试用例时,实际结果与预期结果不符时,则需要向开发提bug,待开发修复后,测试再进行回归测试,验证bug是否解决,如果解决则关闭该bug,否则重新打开,留意跟踪该bug,直到正确修复为止。

    Postman介绍

      Postman是一款非常流行的接口调试工具,它使用简单且功能强大。在企业中,不仅测试人员会使用,而且开发人员也会经常使用。

    Postman主要特点:

    • 简单易用的图形化界面
    • 可以保存接口请求的历史记录
    • 使用测试集Collections可以更有效的管理组织接口
    • 可以在团队之间同步测试接口,对测试接口可以进行导出和导入

    Postman下载及安装

      postman官网下载地址: https://www.postman.com/downloads/

    postman 的入门示例

      需求:使用postman访问百度http://www.baidu.com,并查看响应结果

    实现步骤:

    • 新增测试接口页面
    • 设置请求方式
    • 输入接口地址
    • 点击发送请求
    • 查看响应结果

    postman的基本使用

    postman的基本使用 - 查

    案例:
      需求:

        访问百度的搜索接口,通过查询字符串的方式传递搜索的关键字python,并查看响应结果
        请求路径:http://www.baidu.com/s?wd=python

      实现方式:

        请求方式:GET
        请求路径:http://www.baidu.com/s
        传参方式:查询字符串(wd=python)

      实现步骤:

        新增测试接口页面
        设置请求方式为GET
        输入请求路径
        设置请求数据(查询字符串)
        点击发送请求
        查看响应数据

    postman的基本使用 - 增

    案例
       需求:

         根据学生管理系统的接口文档,增加一条学生信息

       实现分析:

         请求方式:POST
         请求路径:http://127.0.0.1:8000/api/departments/
         请求数据:请求体-JSON提交

    {
        "data":[
            {
                "dep_id":"T05",
                "dep_name":"java学院",
                "master_name":"Test-Master",
                "slogan":"好好学习,天天向上"
            }
        ]
    }
    

       实现步骤:

         新增测试接口页面
         设置请求方式为POST
         输入请求路径
         设置请求数据(请求体-JSON提交)
         点击发送请求
         查看响应数据
         查看数据库中相应信息

    postman的基本使用 - 改

    案例
       需求:

         根据学生管理系统的接口文档,将dep_id为T01的学员的学院名称改为软策教育

       实现分析:

         请求方式:PUT
         请求路径:http://127.0.0.1:8000/api/departments/T01/
         请求数据:请求体-JSON提交

    {
        "data":[
            {
                "dep_id":"T01",
                "dep_name":"软策教育",
                "master_name":"王大嘴",
                "slogan":"嘴大吃四方"
            }
        ]
    }
    

       实现步骤:

         新增测试接口页面
         设置请求方式为PUT
         输入请求路径
         设置请求数据(请求体-JSON提交)
         点击发送请求
         查看响应数据
         查看数据库中相应信息

    postman的基本使用-删

    案例

       需求:

         根据学生管理系统的接口文档,将dep_id为T111的学员数据删除

       实现分析:

         请求方式:DELETE
         请求路径:http://127.0.0.1:8000/api/departments/T111/

       实现步骤:

         新增测试接口页面
         设置请求方式为DELETE
         输入请求路径
         点击发送请求
         查看响应数据
         查看数据库中相应信息

    全局变量&环境变量

    环境变量

      在实际的测试过程中,我们拥有测试环境和生产环境,此时我们设置两个环境变量,分别是测试环境变量和生产环境变量,方便我们能够在不同环境下进行测试。

      说明: host变量表示测试环境的ip地址+端口号。

    添加环境变量:

       环境变量使用操作示例:
       切换到指定的环境
       通过来获取设置环境变量的值
       这里我设置的是host变量名

    全局变量

      接口在任何环境下都可以引用的变量

    添加全局变量:

       全局变量使用操作示例:
       访问全局变量的方式和访问环境变量的方式一样,都是通过来完成
       不受环境影响(在测试环境和生成环境下都能使用全局变量)

    Postman的高级用法

    测试集

    测试集实现步骤:

      1. 创建测试集 - New Collection

        Collection可以理解成一个项目,这个项目下可以包含多个模块

      2. 创建目录 - Add Folder

        Folder 可以理解成项目中的模块,好比一个文件夹。

      3. 添加请求 - Add Request

        在每个模块中添加接口请求

      4. 保存请求 - SAVE REQUEST

    Postman断言

      断言:让程序判断预期结果和实际结果是否一致。

    Postman断言使用说明:

       postman的断言是使用JavaScript语言编写的,写在"Tests"标签里。

       Tests中的脚本在发送请求之后执行,会把断言的结果(PASS/FAIL)最终在"Test Results"标签页中展示

       Postman断言的具体使用:

    ​ 选择断言代码片段

       在Tests输入框的右侧配置了一些常用的断言代码片段,点击后自动填写到Tests输入框中。

    ​ 断言代码片段介绍

       Status code:Code is 200

    // 判断响应状态码是否为200
    pm.test("Status code is 200", function () {
        pm.response.to.have.status(200);
    });
    

    Response body:Contains string

    // 判断响应体中是否包含指定的字符串
    pm.test("Body matches string", function () {
        pm.expect(pm.response.text()).to.include("string_you_want_to_search");
    });
    

    Response body:Is equal to a string

    // 判断响应头数据是否等于指定的字符串
    pm.test("Body is correct", function () {
        pm.response.to.have.body("response_body_string");
    });
    

    Response body:JSON value check

    // 校验响应的json数据
    pm.test("Your test name", function () {
        var jsonData = pm.response.json();
        // 比如: 获取学生管理系统中的所有departments信息 
        // jsonData对象来获取count属性,判断是否等于31
        pm.expect(jsonData.count).to.eql(31);
    });
    

    Response hearders:Content-Type header check

    // 判断响应头中是否包含指定的头信息
    pm.test("Content-Type is present", function () {
        pm.response.to.have.header("Content-Type");
    });
    

    测试结果:

      PASS:通过

      FAIL:失败

    Postman关联

      当请求之间有依赖关系,比如上一个请求的结果是另一个请求参数,此时就需要用到关联处理。

    实现方式

      要获取某个请求的响应结果数据,可以通过在"Tests"标签页中编写JavaScript脚本来实现

    // 获取json格式的响应数据
    var jsonData = pm.response.json()
    

      定义变量接收从响应数据中取出的值

    // 定义变量,接收cityvar city = jsonData.weatherinfo.city;
    

      多个请求之间可以使用全局变量来传递数据

    // 把数据保存到全局变量中pm.globals.set('city', city);
    

    获取某个全局变量的值:

      案例

        请求获取天气的接口: http://www.weather.com.cn/data/sk/101010100.html

        获取返回结果中的城市名称

        调用百度搜索接口: http://www.baidu.com/s?wd=北京 ,把获取到的城市名称作为请求参数

    ​ 实现步骤截图

        1、在第一个请求的"Tests"标签页中编写Javascript脚本
        2、在第二个请求中使用全局变量

    批量执行测试用例:
      要想批量执行测试用例,需要先把接口请求添加到测试集中,使用运行测试集的方式就可以实现批量运行测试用例。

    ​ 操作步骤:

       1、点击测试集中的"Run"按钮,批量运行测试用例
       2、弹出Collection Runner窗口,点击运行按钮
       3、查看测试结果

    接口参数化

      应用场景:在接口测试中,某些时候一些场景会使用到参数化的场景,参数化简单的说就是同一个请求需要 不同的数据,比如在性能测试中需要并发多个用户的场景,这样的目的是为了模拟真实的用户场景,需要模 拟不同的账号,这里就需要参数化的过程, 还有批量添加一些有效的部门信息,也可以使用接口参数化

    实现步骤:

      1、新建csv文件,填入数据

        注意:用文本编写csv文件时使用“,”进行分隔

      2、运行测试用例时,在Data中选择上传文件

    Postman测试报告

    Newman

      Newman是一款基于nodejs开发的可以运行Postman脚本的工具,并可以生成测试报告

    环境准备

    安装nodejs

      下载地址:http://nodejs.cn/download/

      如果下载的是安装包,下载后双击安装即可

      如果下载的是压缩包(.zip),解压到某个目录后,需要配置环境变量

      校验:打开cmd,输入node -v,看到输出node的版本信息,即代表安装成功

    安装newman

      打开cmd输入 npm install -g newman

      校验:安装完成后,输入newman -v 命令查看版本信息,检测是否安装成功

    安装 newman-report-html

      打开cmd输入 npm install -g newman-reporter-html

    导出测试用例集数据

      选择对应的测试集右击选择Export进行导出

    执行测试

      使用newman命令,运行导出的测试集脚本,打开cmd输入 newman run demo.json -r html --reporter-html-export report.html

    查看测试报告

      命令运行完成后,如果不设置 --reporter-html-export参数,会在当前目录下生成一个名字为newman 的文件夹,打开就可以看到生成的html测试报告

  • 相关阅读:
    [bzoj1096][ZJOI2007]仓库建设
    [bzoj1010][HNOI2008]玩具装箱
    [bzoj2301][HAOI2011]Problem b
    [HDU1695]GCD
    [SDOI2006] 保安站岗
    [TJOI2007] 调整队形
    Luogu_1944 最长括号匹配
    [USACO07NOV] Milking Time
    [USACO13FEB] Tractor
    [模板] 一些要复习的模板
  • 原文地址:https://www.cnblogs.com/lyang-a/p/15026710.html
Copyright © 2011-2022 走看看