栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Postman接口测试,从入门到实战(一)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Postman接口测试,从入门到实战(一)

一、什么是接口测试?

接口测试分为两种:

测试外部接口:系统和外部系统之间的接口。如:电商网站:支付宝支付。

测试内部接口:系统内部的模块之间的联调,或者子系统之间的数据交互。

测试重点:测试接口参数传递的正确性,接口功能的正确性,输出结果的正确性,以及对各种异常情况的容错性和权限控制。

接口测试过程?

比如我们出去吃饭,餐饮服务

接口请求过程:

  • 饭馆地址(接口地址)
  • 选择菜系:东北菜、四川菜、湖南菜(接口请求方式)
  • 选择位置:靠窗、圆桌、包间(指定请求头)
  • 桌上的菜:锅包肉、夫妻肺片、辣椒炒肉(请求参数)

接口响应过程:

  • 响应状态码:1、非常好吃,2 一般, 3 难吃。
  • 响应信息:非常好吃,一般,难吃
  • 响应头:单号,顾客编号
  • 响应主体:用餐感受的文字描述
二、接口测试工具

postman + newman + jenkins + git/svn

jmeter + ant + jenkins + git/svn

postman简介:

postman一款功能强大的接口测试工具。专为接口而生。

两个版本可以安装:

Postman Chome app(chorme浏览器, 翻墙)不推荐

Postman native app 客户端的安装方式:https://www.postman.com/downloads/

注册,登录,只有登录之后才能使用云服务的功能

三、接口测试流程
  1. 拿到接口文档,使用抓包工具:F12,Fiddler, charles,熟悉接口业务,接口地址,参数,请求头信息,请求方式,鉴权方式;
  2. 编写接口用例以及评审;
  3. 使用接口测试工具执行接口测试;
  4. 输出接口测试报告。
四、接口测试执行

鉴权码:鉴权你受有访问此接口的权限的一个字符串码。

获取鉴权码的方式:

  1. 有一个专门的获取token鉴权码的接口
  2. 登录之后自动生成token鉴权码。

get请求以?方式传参,多个参数之间用@分隔。

请求功能页签:

Params:get请求参数

Authorization: 是否验证是否拥有从服务器访问所需数据的权限。

Headers:请求头。

Body:(post请求传参)

  1. form-data:用于表单:键值对,上传文件;
  2. x-www-form-urlencoded:表单:键值对;
  3. raw:传各种其他类型的参数,比如:Text,javascript,json,html,xml;
  4. . binary:用于上传二进制文件。

pre-request script:接口请求之前的js脚本。

Tests:接口请求之后的js脚本,主要用于断言(断言接口是否请求成功)

Settings:对请求的设置

cookie:是postman用于自动管理icookie关联。


响应的功能页签:

Body:响应内容。

pretty:json格式,raw文本格式,proview:网页格式。

cookie:响应的cookie信息。

Headers:响应头

Test Results:断言结果

200:响应状态码

响应信息:ok

响应时间和响应字节数


Console:控制台,用于接口测试调试。

面试题:接口测试中get请求和post请求的区别是什么?

  1. get请求一般是获取资源,post请求一般是提交资源
  2. get是通过在地址栏中以?方式传参
  3. post用body传参get不如post安全
五、全局变量和环境变量

1、全局变量:能够在所有的接口请求里面使用的变量叫全局变量。

2、环境变量:环境变量让代码能够在不同的环境下去执行,环境变量其实也是全局变量。

六、接口关联

json提取器和正则表达式:

//1、获得响应正文
var resbody = responseBody;
console.log(resbody);
//2、转换为json对象进行解析
var jsonObj = JSON.parse(responseBody);
console.log(jsonObj.access_token);
//3、获取access_token作为全局变量
pm.globals.set("access_token", jsonObj.access_token);
//4、使用正则表达式解析
var value = responseBody.match(new RegExp('"access_token":"(.*?)"'));
console.log("正则表达式:")
console.log(value[1]);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号