接口测试可以通过工具(postman/jmeter)、自动化测试(python+requests+开源框架)两种方式进行测试

接口测试可以在单元测试之后开始进行,不用关注前端页面有没有形成,也可以渗透到测试的每一个阶段(单元、继承、系统、验收)辅助测试

1.postman安装

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

下载完成直接双击安装即可

2.postman相关操作

  • 设置请求url、请求方式、请求参数
  • 发送http/https请求
  • 提取响应结果,设置环境变量
  • 参数化
  • 响应结果断言
  • 接口关联
  • postman报告环境部署,生成报告

3.具体操作

3.1 设置请求url、请求方式、请求参数

get方法参数放params,自动拼接在url后面,post方法参数放body,根据参数格式进行选择,表单格式x-www-form-urlencoded,json格式在raw选择json

3.2 发送http/https请求

  1. 表单格式的请求

  2. json格式的请求

3.3 提取响应结果,设置环境变量

全局变量:是全局唯一的,只能定义一次
环境变量:一个变量只能属于一个环境;一个环境可以包含多个环境变量;

常见环境分类:开发环境、测试环境、生产环境

设置全局变量,例如提取登录后的token值,需要从响应中提取并设置成全局变量

pm.globals.set("variable_key", "variable_value");



设置环境变量:

pm.environment.set("variable_key", "variable_value");

3.4 参数化

读取外部csv/excel文件实现参数化

应用场景:针对某个接口,有大量的测试数据需要验证,可以把测试数据保存到数据文件中,通过参数化的方式进行实现

1.csv文件:

2.在postman中参数中填写csv文件中对应的参数变量

3.选择运行集合,选择需要进行参数化的接口:

4.选择文件点击运行



5.进行参数化后,运行了4次

3.5 响应结果断言

响应断言:

postman里面的断言是使用javascript代码编写的,是获取响应之后的操作,放在Tests里面

常用的断言方式:1.断言请求状态码是不是200



2.判断响应数据中是否包含某个指定的字符串



3.校验响应的json数据

新版的postman,将原来的pre-request-script前置操作和Tests后置操作合并为Script,左侧做了区分

3.6 接口关联

接口关联(B接口请求的参数是A接口请求返回的数据)

第一步:先发送A接口,在Tests中编写js脚本获取响应数据,设置环境变量var jsondata=pm.response.json();

第二步:在B请求的参数中使用{{变量名}}使用提取出来的变量

3.7 postman报告环境部署,生成报告

环境部署:

1.nodejs

2.Newman

3.安装报告模板

nodejs

地址:https://nodejs.org/en/download/,直接【下一步】安装,cmd输入node -v验证

Newman

cmd进入nodejs的安装路径:执行命令npm install -g newman,输入newman -v 验证

安装报告模板

cmd进入nodejs的安装路径:npm -install -g newman-reporter-html

报告生成:

1.导出测试集合postman_collection.json文件

2.运行命令: newman run 上面的文件postman_collection.json -r html,在执行命令的当前目录生成文件夹newman,存放报告

Postman接口测试应用的更多相关文章

  1. Postman接口测试初探

    Postman接口测试 有两种安装方式: 1)Chrome插件(https://www.getpostman.com/).安装完成后,它会在chrome的应用中,如下图 2)通过下载Native ap ...

  2. postman接口测试工具3.0版本的坑

    今天用postman接口测试工具3.0版本被坑,找了半天,原来postman这个新版本有个坑啊 下面的get参数,第一行不管你填不填,都是无效的,可能是postman的一个bug吧

  3. #postman接口测试系列:基本操作总结

    最近项目需要接口测试,所以选择了不少工具对比,最终决定使用postman进行接口测试,这个工具目前使用比较简单,但是有点还是比较多的,如下: 方便切换不同的环境进行接口测试工作,而不用修改变量或代码 ...

  4. postman(九):postman接口测试脚本集成到jenkins

    本篇的目的是实现使用jenkins远程执行postman接口测试脚本 准备工作:一台linux服务器(可以用虚拟机搭建一个),linux服务器上安装好node.js.newman,部署好jenkins ...

  5. Postman 接口测试神器

    Postman 接口测试神器 Postman 是一个接口测试和 http 请求的神器,非常好用. 官方 github 地址: https://github.com/postmanlabs Postma ...

  6. [原创]PostMan接口测试神器

    [原创]PostMan接口测试神器 1 PostMan是什么?  Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 2 Postman工具下载及安装 官方网站: htt ...

  7. Postman Postman接口测试工具使用简介

    Postman接口测试工具使用简介 by:授客 QQ:1033553122 本文主要是对Postman这个接口测试工具的使用做个简单的介绍,仅供参考. 插件安装 1)下载并安装chrome浏览器 2) ...

  8. 接口测试工具Postman接口测试图文教程

    Postman接口测试工具使用 一.前言     在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性.而这要求前端开发进度和后端进度保持基本一 ...

  9. postman接口测试工具的常规使用

    目录 postman接口测试工具简介与安装 postman发送get请求 JSON数据详解 postman发送post请求 postman中post请求传参说明 postman设置请求的header ...

  10. 【技术博客】Postman接口测试教程 - 环境、附加验证、文件上传测试

    Postman接口测试教程 - 环境.附加验证.文件上传测试 v1.0 作者:ZBW 前言 继利用Postman和Jmeter进行接口性能测试之后,我们发现Postman作为一款入门容易的工具,其内置 ...

随机推荐

  1. 使用FastAPI来开发项目,项目的目录结构如何规划的一些参考和基类封装的一些处理

    使用FastAPI开发项目时,良好的目录结构可以帮助你更好地组织代码,提高可维护性和扩展性.同样,对基类的封装,也可以进一步减少开发代码,提供便利,并减少出错的几率. 下面是一个推荐的目录结构示例: ...

  2. Linux 磁盘分区和格式化

    分区 常用命令行工具: fdisk:适用于 MBR 分区表 gdisk:适用于 GPT 分区表 parted:适用于 MBR 和 GPT 分区表,功能更强大.它还有一个 GUI 版本,名为 gpart ...

  3. Java并非锁之独占非公平锁理解

    Java锁系列教程之独占式锁 在Java并发编程中,锁是一个很重要的对象.Java中锁有两种:隐式锁和显式锁.使用synchronized关键字的锁是隐式锁.因为锁的申请和释放都是由JVM来维护的,不 ...

  4. 微软azure devops 如何搭建代理池服务器

    如果你的pipeline使用微软azure的服务器进行编译失败,提示你不能进行并行任务的话,可以自己拿一台服务器来搭建编译服务器. 目标是让你的 Organization settings -> ...

  5. Chrome 浏览器插件获取网页 window 对象(方案三)

    前言 最近有个需求,是在浏览器插件中获取 window 对象下的某个数据,当时觉得很简单,和 document 一样,直接通过嵌入 content_scripts 直接获取,然后使用 sendMess ...

  6. TS中简单实现一下依赖注入

    依赖注入(Dependency Injection,DI)是一种设计模式,主要用于实现控制反转(Inversion of Control,IoC).它通过将对象的依赖关系从内部管理转移到外部容器来解耦 ...

  7. reinstall nodejs 后跑不到 command

    现象 : node -v 可以跑 , ng new 这些就跑不到 (确保已经安装了 global cli) 那多半是 path 的问题 https://stackoverflow.com/questi ...

  8. Naive UI 2.38.1

    https://www.naiveui.com/zh-CN/os-theme/docs/i18n 配置字体 Naive UI 可以和 vfonts 配合,你可以简单的引入 vfonts 中的字体,包含 ...

  9. C++ STL list容器——链表

    list容器 简介 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列节点组成,节点可以在运行时动态生成.每个节点包括两部分:一个是存储 ...

  10. 5G网络架构的演进趋势

    5G网络架构的演进趋势 概述 5G移动通信网络系统包括5GC(5G Core Network,5G核心网)和NG-RAN(Next Generation Radio Access Network,5G ...