集成测试——测试接口

接口测试也是在测试执行阶段做

一、什么是接口

软件的不同模块之间互相发送数据的一个通道

二、接口的组成

1、请求URL——接口地址
2、请求类型

  • get

get请求的参数是暴露在URL中的

get的参数的数量是有限的

  • post

post的参数的隐蔽性更高

post对参数没有限制
3、状态码

  • 200:接口运行中正常
  • 400:接口参数格式不正确,例如在post型接口中,缺了个花括号
  • 404:URL错误
  • 405:请求类型错误
  • 500:服务器错误,是bug

4、请求头

5、请求数据

get 类型的请求数据在URL中

post的请求数据是独立的

6、响应数据

三、抓包工具

1、浏览器自带的——浏览器开发者工具

①elements:审查元素,看到的是前端的代码,还可以模拟不同的终端

②console:控制台,可以在这运行js的代码,如果前端代码报错,会在这里显示

③network:抓包工具

④applocation:浏览器缓存空间

2、fiddler

3、Charles

4、wireshark(主要是抓TCP/UDP)

注:面试题:为什么浏览器自带了抓包工具,为什么还要用fiddler?因为浏览器自带的只能抓取当前网站的,fiddler还可以抓取APP的

四、接口测试工具

1、postman

无脑式安装,可选择指定盘符

不注册,点下边灰色的文字跳过注册直接使用

2、jmeter

安装:①先要有java环境②配置环境变量:

新建变量名:JMETER_HOME,值为jmeter的安装目录;再在Path添加:%JMETER_HOME%\bin

③验证环境:在cmd中分别输入jmeter -v和jmeter,不出错即可

五、postman基本操作

1、postman环境配置

postman分为局部环境和全局环境

接口的关联:在局部环境中,有上下联系的两个接口可以设置变量关联,实现操作的简便化,可以在编辑环境里直接创建变量,或者通过js代码实现,使用时:{{变量名}}

也可以通过脚本来实现变量的关联

  • Pre-request Script:是用来控制请求的数据的
  • Tests:是用来操作响应的数据的

例如:在赞赞羊项目中,需要登录才能进行的功能每次在进行接口测试时都需要登录时产生的token值,可以在登录接口中的Tests中写js脚本创建环境变量token,在使用的地方{{token}}即可实现关联

var jsonData = pm.response.json();//获取接口的返回值并存到jsonData中
var token = jsonData.data.token;//拿到token值
pm.environment.set("token",token);//将拿到的token值保存到局部变量的token中

上传图片接口和查看图片接口有联系,查看图片接口需要调用上传图片接口返回的图片名,就可以在上传图片接口的Tests处写脚本,实现查看图片时自动获取上传图片的图片名

var jsonData = pm.response.json(); //获取接口的返回值并保存到jsonData中
var imgname = jsonData.data; //将获取到的图片名存到imgname中
pm.environment.set("imgname", imgname);//将imgname值放到环境变量imgname中

写好代码之后只需要在需要用的地方用{{变量名}}代替即可

接口介绍以及postman的基本使用的更多相关文章

  1. 你应该学会的接口调试神器——Postman高级用法

    postman这个神器相信大家都用过,程序员作为非专业的测试人员,非常需要这么一款简单轻量级的restful测试工具,但是不知道你是否知道,postman的强大之处不只是测试一下接口,还有其他非常赞的 ...

  2. Hive 接口介绍(Web UI/JDBC)

    Hive 接口介绍(Web UI/JDBC) 实验简介 本次实验学习 Hive 的两种接口:Web UI 以及 JDBC. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanl ...

  3. SSH动态查询封装接口介绍

    SSH动态查询封装接口介绍 1.查询记录总条数 public int count(Class c,Object[][] eq,Object[][] like,String[] group,String ...

  4. 【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具+打车费用接口介绍

    原文:[百度地图API]如何在地图上添加标注?--另有:坐标拾取工具+打车费用接口介绍 摘要: 在这篇文章中,你将学会,如何利用百度地图API进行标注.如何使用API新增的打车费用接口. ------ ...

  5. 如何删除要素类 IFeatureWorkspace 接口介绍(1)

    如何删除要素类 要想删除一个要素类,那么必须先得到这个,在得到这个要素类的时候,我们要学习一个新的接口IFeatureWorkspace. IFeatureWorkspace  接口介绍 这个接口主要 ...

  6. Redis --> Redis的接口介绍及使用

    Redis的接口介绍及使用 Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型.Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然 ...

  7. iic接口介绍

    最近遇到一个BUG,跟IIC通信有关,所以借这个机会总结一下IIC总线协议 1.引脚接口介绍 1.A0,A1,A2为24LC64的片选信号,IIC总线最多可以挂载8个IIC接口器件,通过对A0,A1, ...

  8. Spring之InstantiationAwareBeanPostProcessor接口介绍

      InstantiationAwareBeanPostProcessor接口是BeanPostProcessor的子接口,通过接口字面意思翻译该接口的作用是感知Bean实例话的处理器.实际上该接口的 ...

  9. I2S接口介绍

    I2S接口介绍一.I2S协议介绍 I2S协议作为音频数据传输协议,由Philips制定.该协议由三条数据线组成:1.SCLK:串行时钟,频率= 2 * 采样频率 * 采样位数.2.WS:字段(声道)选 ...

  10. MII接口介绍(转)

    1.简介 MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准.它包括一个数据接口和一个MAC和PHY之间的 ...

随机推荐

  1. 2022春每日一题:Day 7

    题目:Fire 先预处理出每个F蔓延的时间,再bfs走迷宫. 代码: #include <cstdio> #include <cstdlib> #include <cst ...

  2. vue引用MarkDown(mavonEditor)编辑器,文档

    mavonEditor Install mavon-editor (安装) npm install mavon-editor --save 如何引入: 全局引用: // 全局注册 import Vue ...

  3. 刚哥谈架构(八)- 为你的应用选择合适的API

    前言: 架构师的主要活动是做出正确的技术决策.选择合适的API是一项重要的技术决策.那么今天就看看API的选择问题. 应用程序编程接口(API)是一种计算接口,它定义了多个软件中介之间的交互.它定义了 ...

  4. 【Java并发009】原理层面:ThreadLocal类全解析

    一.前言 在Java多线程模块中,ThreadLocal是比较重要的知识点,虽然ThreadLocal类位于java.lang包,但是这个类基本上仅用于多线程. 二.ThreadLocal类概要 2. ...

  5. dp状态设计

    迎接仪式 题目描述 LHX 教主要来 X 市指导 OI 学习工作了.为了迎接教主,在一条道路旁,一群"Orz 教主 er"穿着文化衫站在道路两旁迎接教主,每件文化衫上都印着大字.一 ...

  6. mingw编译opencv动态链接库和静态链接库及使用方法

    前言 我一直不知道编译的过程以及cmake, make 这些工具是干什么的,所有抽时间研究了一下. 简单来说就是 cmake 是根据 CMakeLists.txt 用来生成 makefile文件的.而 ...

  7. Zabbix技术分享——使用docker-compose快速部署zabbix监控系统

    前面文章有提到过使用docker来快速拉起一个zabbix监控系统(详见:如何使用docker快速部署一个zabbix监控系统),但是要一个个执行docker启动命令去将对应的容器启动.如果要配置参数 ...

  8. js day04 实参与形参个数不一致

    // function fn(x, y) {         //     // x = 1         //     // y = undefined         //     // 1 + ...

  9. CentOS Linux 的安装

    CentOS Linux 的安装 作者:Grey 原文地址: 博客园:CentOS Linux 的安装 CSDN:CentOS Linux 的安装 说明 本安装说明是基于 Windows 10 下 V ...

  10. 整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法

    在 javascript 中内置了一个 Date 对象,可用于实现一些日期和时间的操作. 本文整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期.昨天.今天.明天.每月天数.时间戳等,以 ...