接口测试之Postman使用全指南(原来使用 Postman测试API接口如此简单)

这篇具有很好参考价值的文章主要介绍了接口测试之Postman使用全指南(原来使用 Postman测试API接口如此简单)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件

Postman背景介绍

用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。

Postman的操作环境

postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。

Postman重要提示:

由于2018年初chrome停止对chrome应用程序的支持,你的postman插件可能无法正常使用了。目前chrome应用商店能使用的就是chrome扩展程序和主题背景。

这边有准备视频的postman实战教程!

最详细的postman接口测试实战教程_哔哩哔哩_bilibili最详细的postman接口测试实战教程共计129条视频,包括:1、Postman之接口测试灵魂考问、2、Postman之接口返回数据和JSON详解、3、Postman之接口测试协议等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1rh411S7Qp/?spm_id_from=333.337.search-card.all.click

一、什么是接口测试

接口测试分两种:
测试外部接口:系统和外部系统之间的接口。如:电商网站:支付宝支付。
测试内部接口:系统内部的模块之间的联调,或者子系统之间的数据交互。
测试重点:测试接口参数传递的正确性,接口功能的正确性,输出结果的正确性,以及对各种异常情况的容错性和权限控制。
接口测试过程?例如:
XX老师:洗脚服务。
        
接口请求过程:
        接口地址:门店地址
        接口请求方式:洗脚方式:中式,泰式
        指定请求头:指定:1号技师
        请求参数:Mone
接口响应过程:
        响应状态码:1、非常好,2.一般,3.极差。
        响应信息:非常好,一般,极差
        响应头:单号,顾客编号
        响应主体:具体感受的文字描述。

二、接口测试工具

postman+newman+jenkins+git/svn
jmeter+ant+jenkins+git/svn
postman简介:
postman一个款功能强大的接口测试工具。专为接口而生。
安装:
两个版本:
Postman Chome app(chorme浏览器,翻墙) 不推荐
Postman native app 客户端的安装方式:
下载地址: https://www.getpostman.com/apps
注册,登录。只有登录后才可以使用Postman的云服务的功能。

三、接口测试流程、

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

四、接口测试执行

鉴权码:鉴权你是否有访问此接口的权限的一个字符串码。
获取鉴权码的方式:
        1.有一个专门的获取token鉴权码的接口。
        2.登录之后自动生成token鉴权码。
get请求以?方式传参,多个参数之间用@分隔。
请求的功能页签:

postman 网络,postman,测试工具,软件测试,Python,单元测试

 Params:get请求传参 Authorization:是验证是否拥有从服务器访问所需数据的权限。
Headers:请求头。
Body:(post请求传参)
        1.form-data:表单:键值对,还有文件上传。
        2.x-www-form-urlenconded  表单:键值对。
        3.raw:传各种其他类型的参数,比如:Text,Javascript,json,html,xml
        4.binary:用于上传二进制文件。
pre-erquest script:接口请求之前的js脚本。
Tests:接口请求之后的断言(断言接口是否请求成功)
Settings:对请求的设置。
-------------
Cookie:是Postman用于自动管理iCookie关联。
响应的功能页签:postman 网络,postman,测试工具,软件测试,Python,单元测试

 Body:响应内容。
Pretty:json格式,raw:文本格式,proview:网页格式。
Cookie:响应的Cookie信息。
Headers:响应头
TestResults:断言结果
响应状态码:200
响应信息:OK
响应时间和响应字节数
--------------------------------------------------------------------------------------------
Console:控制台,用于接口测试调试。
面试题:
接口测试中get请求和post请求的区别是什么?
1.get请求一般是获取资源,psot请求一般是提交资源。
2.get是通过在地址栏中以?方式传参,多个参数用&分隔,post请求是通过表单传参。
3.post比get安全

五、全局变量和环境变量

全局变量:能够在所有的接口请求里面使用的变量的叫全局变量。
环境变量:环境变量让代码能够在不同的环境下去执行。环境变量其实也是全局变量。
http协议默认端口:80
https协议默认端口:443

六、接口关联

面试官的问题:

1.接口测试里面,接口关联是如何实现的?

2.接口测试中如何实现上一个接口的返回值最为下一个接口的参数?

接口关联的第一种方式:json提取器

//1.获取响应的主体正文
var resbody= responseBody;
console.log(resbody);
//2.如果返回的是json字符串,可以转换成json对象然后解析
var jsonobj = JSON.parse(responseBody);
console.log(jsonobj.access_token);
//3.把提取到的token放到全局变量
pm.globals.set("access_token",jsonobj.access_token);

接口关联的第二种方式:正则表达式

//1.获取响应的主体正文
var resbody = responseBody;
console.log(resbody);
// //2.如果返回的是json字符串,可以转换成json对象然后解析
// var jsonobj = JSON.parse(responseBody);
// console.log(jsonobj.access_token);
//2.使用正则表达式提取
var value =  responseBody.match(new RegExp('"access_token":"(.*?)"'));
console.log(value[1]);
//3.把提取到的token放到全局变量
pm.globals.set("access_token",value[1]);

精通:非常熟练。

其它方法:

//4.获取响应headers的值:需要从响应头取值时应用
var types = postman.getResponseHeader('Content‐Type')
console.log(types)
//5.获取响应的cookie信息
var csrf_token = postman.getResponseCookie('csrf_token');
console.log(csrf_token['value']);

七、Postman动态参数

postman内置动态参数
{{$timestamp}}       生成当前时间的时间戳(不是万能的)
{{$randomInt}}       生成0-1000的随机数
{{$guid}}                生成随机的guid的字符串
自定义动态参数。
1.手动制造一个时间戳
//时间戳
var times = Date .now();
pm . globals . set ( "times" , times );
2.等待3秒的作用sleep
const sleep = (milliseconds) => {
const start = Date.now();
while (Date.now() <= start + milliseconds) {}
};
sleep(3000);

八、断言

Status code:Code is 200 断言返回的状态码为200
Response body:Contains string:断言返回的结果中包括指定的字符串
tag,id, tagid
Response body:json value check 检查json中其中一个字段的值
Response body:is euqal to a string 断言返回的结果是否等于一个字符串 应用
于返回的数据很少的情况下
Response Headers:Content-type headers check 检查是否有Content-type响应头
Response time is less than 200ms 断言接口请求的时间少于200ms
Status code。。。 断言响应码在一个列表中
Stauts code。。。 断言响应信息是一个指定的字符串。
特别注意: 在tests断言里面不能使用{{}}取全局变量,只能通过 pm . globals . get ( "times" )或者
globals [ "times" ]或者 globals . times 这种方式取全局变量。
特别注意: 使用公共断言统一所有的状态断言:

九、postman用例的批量执行

数据驱动:csv,json
特别注意: 在参数里面取数据文件的值和取全局变量一致,在断言里面取数据文件的值使
用:data["名称"]
csv文件编码格式必须为:UTF-8

十、必须带请求头的接口的测试方式

Host: www.baidu.com 请求的主机地址
Connection: keep-alive 连接方式:保持活跃
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 请求的客户端的类型 (模拟
浏览器的请求)
X-Requested-With: XMLHttpRequest 异步请求:长沙到北京,高铁,飞机,走路,局
部刷新
Referer: 来源
Accept-Encoding: gzip, deflate, br         客户端接收的数据压缩方式
Accept-Language: zh-CN,zh;q=0.9         客户端接收的数据编码格式
Cookie: 请求的Cookie信息
Content-Type 请求的数据类型
form-data:                 Content-Type :multipart/form-data 表单文件上传
x-www-from-urlencoded:         Content-Type x-www-from-urlencoded: 表单 提交
raw:                 Content-Type:applicaton/json 根据你选择的数据类型 来决定
binary:                 Content-Type:binary 二进制文件

十一、接口MOCK

使用场景:前后端分离,后端的接口数据没有出来,前端需要调用后的接口实现业务,为了
保证我们前端能够正常的开发以及测试,那么就需要使用MOCK,模拟桩。模拟一个接

十二、Postman接口测试之Cookie鉴权。

接口鉴权,接口加密,接口签名(金融项目,银行项目,信贷项目,特大型项目)
1.什么是cookie?
cookie本质就是一段文本信息,客户端第一次访问服务器时,那么服务器不知道客户端的
身份,所有就需要创建一个身份标识,这个身份标识就是cookie,以键值对的方式保存。
cookie鉴权的原理:
当客户端 第一次 访问服务器时,那么服务器就会生成cookie,并且把生成的cookie信息放
到响应头的set-cookie字段里面,然后发送给客户端。客户端接收到cookie之后就会保存
起来,然后在 第2-N次 请求服务器的时候自动化的带上cookie信息实现鉴权。
2.cookie分类
回话cookie:保存在内存中,浏览器关闭之后自动化消失。
持久cookie:保存在硬盘中,浏览器关闭之后不会消失。只有当持久化的时间到期了才会
消失。
3.数据格式
name:cookie的名称
value:cookie的值
domain:cookie作为的ip地址。
path:cookie所在的服务器上面的项目的路径。
exprise in:失效时间
size:大小
凡是网页端的项目,95%以上都是存在cookie鉴权。
说明:postman能够自动的保存第一次访问服务器的cookie信息,并且能够在第2-N次的
时候自动的带上cookie的信息。

十三、接口加密解密

目前的市面上有哪些加密的方式:

1.对称式的加密方式(私钥加密):不常用DES和AES,已经别淘汰了。
Base64加密:

//base64加密方式:  
var username = CryptoJS.enc.Utf8.parse("admin");//转为utf‐8  
var base64_username = CryptoJS.enc.Base64.stringify(username);//转为Base64 加密
console.log(base64_username);

Base64解密:

//base64解密方式: 
var username = CryptoJS.enc.Base64.parse("YWRtaW4=");//解密
var new_username = username.toString(CryptoJS.enc.Utf8);//转为utf‐8
console.log(new_username)

2.非对称的加密方式(双钥《公钥和私钥》加密):RSA加密方式
由一个密码生成的双钥,公钥加密,私钥解密。私钥加密,公钥解密
3.只加密不解密
1.MD5加密。

//MD5加密
var new_username2 = CryptoJS.MD5("admin").toString().toUpperCase();
console.log(new_username2)

2.SHA1,SHA3,SHAN........
混合加密(最定义加密规则):
快分期:贷款业务。加密都是自定义的混合加密。
admin,base64(YWRtaW4=),YWRtaW4=+DFJK/模块名首字母,MD5加密。

十四、newman(新男人,非GUI的方式运行)

postman为接口而生,newman为postman而生。
运行命令:newman run
常用参数:
-e 使用环境变量
-g 使用全局变量
-d 使用CSV、json数据驱动
-n 循环次数
-r cli,html,json,junit --reporter-html-export 生成html报告。
应用步骤:
        1.导出用例,环境变量,全局变量,数据文件。json格式。
        2.运行并生成html报告。
newman run "e:\\testcase.json" -e "e:\\huanjing.json" -g "e:\\globals.json" -r
cli,html,json,junit --reporter-html-export "e:\\newmanreport.html"

十五、postman+newman+jenkins实现持续集成

这一段大家可以来看下视频!在最上方

既然有Postman,jmeter等这些接口测试工具,那么现在为什么很多企业还要做接口自动化呢?
        1.接口数量巨大,方便?有团队协作的功能?
        2.很多的功能比较死板,CSV数据驱动。
        3.只支持http协议接口,微服务。
        4.找错和定位错误。
        5.生成的报告有点丑。
        6.多接口的串联,数据库验证,日志监控。
        7.接口自动化和web自动化一起做。
接口自动化最核心:接口自动化的框架。
 文章来源地址https://www.toymoban.com/news/detail-610573.html

到了这里,关于接口测试之Postman使用全指南(原来使用 Postman测试API接口如此简单)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【算法 - 动态规划】原来写出动态规划如此简单!

    从本篇开始,我们就正式开始进入 动态规划 系列文章的学习。 本文先来练习两道通过 建立缓存表 优化解题过程的题目,对如何将 递归函数 修改成 动态规划 的流程有个基本的熟悉。 用最简单的想法完成题目要求的 递归 函数; 定义明确 递归函数 的功能!!! 分析是否存

    2024年02月21日
    浏览(30)
  • 使用Postman+JMeter进行简单的接口测试

    以前每次学习接口测试都是百度,查看相关人员的实战经验,没有结合自己公司项目接口真正具体情况。 这里简单分享一下公司项目Web平台的一个查询接口,我会使用2种工具Postman和JMeter如何对同一个接口做调试。 准备工作 首先,登录公司平台,通过谷歌浏览器右键—更多

    2024年02月01日
    浏览(28)
  • ESP32网页控制显示数据原来如此简单

            本文着重于ESP32与网页的交互,并没有针对网页进行UI优化,也不会对HTM5的组件进行详细介绍,只讲解一些关键的JS函数。         代码以Arduino框架进行开发,使用ESPAsyncWebServer库实现WebServer,通过JS代码配合库文件的回调函数进行使用,只讲交互部分,文章内容不关

    2024年02月02日
    浏览(33)
  • 基于SpringBoot 实现一个文件上传的API接口。并使用postman测试

    1.  创建实体类用于返回结果、  2. 定义文件上传接口以及实现类    3. service 业务层 4. controller 控制层    5. postman 测试   文章参考 链接SpringBoot实现文件上传接口-阿里云开发者社区 (aliyun.com)

    2024年02月12日
    浏览(62)
  • API 测试 | 了解 API 接口测试 | API 接口测试指南

    什么是 API? API 是一个缩写,它代表了 一个  pplication  P  AGC 软件覆盖整个房间。API 是用于构建软件应用程序的一组例程,协议和工具。API 指定一个软件程序应如何与其他软件程序进行交互。 例行程序:执行特定任务的程序。例程也称为过程,函数或子例程。 协议:在两

    2024年02月01日
    浏览(28)
  • API测试| 了解API接口测试| API接口测试指南

    什么是API? API是一个缩写,它代表了一个 pplication P AGC软件覆盖整个房间。API是用于构建软件应用程序的一组例程,协议和工具。API指定一个软件程序应如何与其他软件程序进行交互。 例行程序:执行特定任务的程序。例程也称为过程,函数或子例程。 协议:在两个系统之

    2024年02月07日
    浏览(68)
  • API 测试 | 了解 API 接口概念|电商平台 API 接口测试指南

    什么是 API? API 是一个缩写,它代表了一个 pplication P AGC 软件覆盖整个房间。API 是用于构建软件应用程序的一组例程,协议和工具。API 指定一个软件程序应如何与其他软件程序进行交互。 例行程序:执行特定任务的程序。例程也称为过程,函数或子例程。 协议:在两个系统

    2024年02月13日
    浏览(26)
  • API接口测试-postman批量执行测试用例及参数化

    当面对多个用例集场景时,单独请求某一接口会影响效率,而当我们为每个接口请求设置好相关的自动化断言代码后,是可以使用“用例集”为单位进行批量执行测试用例的,且可以模拟一些小规模的并发测试场景,本文将分享postman批量执行测试用例的方法及参数化方案。

    2024年02月02日
    浏览(27)
  • Postman怎么做接口测试-以简单的登录接口为例

    我们就以登录某测试系统为例子,实现在Postman上做接口测试 一、首先打开系统首页首页,做一个登录操作(目的是获取接口url及参数):一般在公司做接口测试的时候页面还没有出来,我们需要根据接口文档进行接口测试。   二、复制url及参数到Postman中   复制参数: 三、

    2024年02月12日
    浏览(23)
  • 【Vue项目笔记心得】postman接口测试、axios二次封装、api接口统一管理

    1、postman接口测试 下载地址:Download Postman | Get Started for Free   2、axios二次封装 (1)为什么进行二次封装axios? 请求拦截器、响应拦截器: 请求拦截器 :可以在发请求之前可以处理一些业务 响应拦截器 :当服务器数据返回以后,可以处理一些事情 安装axios: npm install ax

    2023年04月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包