接口测试Ⅱ——Postman

小鱼儿 2023-01-18 04:12 330阅读 0赞

文章目录

  • 总目录
  • Postman介绍和安装
  • Postman基本用法
  • Postman高级用法
    • 1 用例目录结构
    • 2 Postman断言
    • 3 全局变量和环境变量
    • 4 请求前置脚本
    • 5 Postman关联
    • 6 批量测试
    • 7 读取外部文件参数化
  • Newman生成测试报告
    • 1 安装
    • 2 使用
    • 3 查看
  • 项目实战

总目录

测试开发系列(功能+接口+性能+自动化)

Postman介绍和安装

  • 介绍
    接口调试工具
  • 特点

    1. 简单易用的图形用户界面
    2. 可以保存接口请求的历史记录
    3. 使用测试集Collections可以更有效的管理组织接口
    4. 可以在团队之间同步接口数据
  • 安装
    https://www.postman.com/

Postman基本用法

  1. 掌握使用Postman发送URL参数(GET方式)

在这里插入图片描述

  1. 掌握使用Postman发送表单数据(POST)

在这里插入图片描述

  1. 掌握使用Postman发送JSON数据

在这里插入图片描述
在这里插入图片描述

Postman高级用法

1 用例目录结构

  1. 创建测试集-New Collection
    Collection可以理解成一个项目(系统),包含多个接口请求
  2. 创建目录-Add Folder
    Folder可以理解成一个项目模块
  3. 添加请求-Add Request
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2 Postman断言

  • 断言:让程序判断预期结果和实际结果是否一致
  • Postman的断言是使用JavaScript语言编写的,写在‘Tests’标签页里
  • Tests中的脚本在发送请求之后执行,会把断言的结果(PASS/FAIL)最终在‘Test Results’标签页中展示

常用断言
在这里插入图片描述
使用
在这里插入图片描述
在这里插入图片描述

3 全局变量和环境变量

  1. 概念

    • 全局变量:全局变量是全局唯一的,不可重复定义的变量
    • 环境变量:

      • 一个变量只能属于某个环境,在某一个环境中变量不可重复定义
      • 在环境与环境之间可以定义重复的变量
      • 一个环境可以包含多个环境变量
      • 常见环境分类:开发环境、测试环境、生产环境
  2. 设置变量

    • 全局变量

      1. 手动设置
      2. 代码设置: pm.globals.set("var_name", value);
    • 环境变量

      1. 手动设置
      2. 代码设置: pm.environment.set("var_name", value);
  3. 获取变量值

    • 全局变量

      1. 请求参数中获取:{ {var_name}}
      2. 代码中获取: var value = pm.globals.get("var_name");
    • 环境变量

      1. 请求参数中获取:{ {var_name}}
      2. 代码中获取: var value = pm.environment.get("var_name");

4 请求前置脚本

  • 请求前置脚本就是在“Pre-request Script”标签中所编写的脚本,是在请求发送之前要执行的代码片段。
  • 应用场景:

    • 请求参数中包含一个随机数或者时间戳
    • 请求之前需要对请求参数做进一步处理(如:对敏感参数进行加密)
      在这里插入图片描述

5 Postman关联

  • 当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。
  • 如何实现

    • 要获取某个请求的响应结果数据,可以通过在‘Tests’标签页中编写JavaScript脚本来实现var jsonData = pm.response.json();
    • 多个请求之间可以使用全局变量或环境变量来传递数据pm.globals.set("city", city);
    • 获取某个全局变量的值:{ {var_name}}

在这里插入图片描述

6 批量测试

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

在这里插入图片描述
在这里插入图片描述

7 读取外部文件参数化

  • 针对于某个接口,如果有大量的测试数据需要批量验证,可以把测试数据保存到数据文件(CSV、JSON)中,通过参数化的方式来实现。
  • 在不同的地方获取参数的方法是不同的,介绍两种获取参数的方法:

    • 请求参数可以通过{ {var_name}}来引用
    • 断言中的数据,由于是在Tests中编写脚本,并不能直接通过{ {var_name}}来引用,可以通过内置变量 data 来获取var username = data.username;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Newman生成测试报告

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

1 安装

  • 安装nodejs(打开cmd,输入 node -v ,看到输出node的版本信息,即代表安装成功)
    http://nodejs.cn/download/
  • 安装newman

    • 打开cmd输入: npm install -g newman
    • 校验:安装完成后,输入 newman -v 命令查看版本信息,检测是否安装成功
  • 安装newman-reporter-html

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

2 使用

  • 导出测试集数据
    在这里插入图片描述
  • 执行测试

使用newman命令,运行导出的测试集脚本,打开cmd输入:

  1. newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export report.html

eg:

  1. newman run demo.postman_collection.json -r html
  2. newman run demo.postman_collection.json -r html --reporter-html-export report.html
  • 命令说明

    run xxx.json:表示要执行的postman脚本,即导出的测试集数据

    -e source:用来指定环境变量文件的路径

    -d source:用来指定测试数据文件的路径

    -r html:用来指定生成的数据结果的类型,如json、html等

    —reporter-html-export source:指定html报告生成的路径;如果不设置该参数,则会在当前目录下生成一个名字为newman的文件夹

3 查看

在这里插入图片描述

项目实战

  1. 初始化工作

    1.1 创建测试用例结构

    • 创建测试集:IHRM人力资源管理系统
    • 创建目录
      登录模块
      员工管理模块

    1.2 设置环境变量

    在实际的工作中,我们既要对测试环境进行测试,也要对生产环境进行测试。

    • 测试环境

      • base_url=http://182.92.81.159
      • token=xxx
    • 生产环境

      • base_url=http://www.myhrm.com
      • token=xxx
  2. 实现测试用例

    根据编写的测试用例文档,使用Postman实现测试用例

    2.1 登录-登录成功

    操作步骤

    1. 在‘登录’目录下,添加‘登录成功’的请求
    2. 填写请求数据:请求方式、请求URL、请求头、请求体
    3. 在‘Tests’标签页中,编写测试脚本:断言、业务数据处理
    4. 发送请求,调试脚本

    实现

    1. 添加‘登录成功’的请求
    2. 填写请求数据:请求方式、请求URL
    3. 填写请求数据:请求头
    4. 编写测试脚本
    5. 响应体数据
    6. 断言结果
  3. 生成测试报告

    newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html —reporter-html-export report.html

操作步骤

  1. 导出测试集数据
  2. 导出环境变量数据
  3. 执行命令:

    newman run ihrm.postman_collection.json -e dev.postman_environment.json -r html —reporter-html-export report.html

发表评论

表情:
评论列表 (有 0 条评论,330人围观)

还没有评论,来说两句吧...

相关阅读

    相关 接口测试postman

    *官方解释:** 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制...

    相关 Postman接口测试工具

    > 该篇文章针对已经掌握 Postman 基本用法的读者,即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求的操作。 当前环境: Window 7 -

    相关 postman 接口测试

    大年初五迎财神! 今天来写一篇 使用 postman, 平时开发中都涉及到接口开发, 都会使用postman来对接口进心测试 今天就来写一篇 关于如何使用postman 进行接

    相关 使用Postman测试接口

    > springboot集成swagger后,直接在页面能进行简单的接口测试,一遇到需要cook或者jwt就显得无能为力了。只能用postman去测试 ![在这里插入图片描述