Postman接口测试学习笔记(入门到精通)

C_N_Candy
• 阅读 1746

Postman使用

  1. 什么是接口:分为内外部接口,软件给外部提供的一种服务,用于数据传输
  2. 软件为什么需要接口:接口能让内部数据被外部进行修改
  3. 为什么要做接口测试:前后端分离,开发进度不一,测试左移,尽早测试。基于安全考虑,前端认证容易绕过,需要测试接口安全性。

*接口测试的本质:就是测试接口能否正常的交互数据,权限控制以及异常场景

接口测试协议

  1. webservice协议:接口地址类型:http://..........?wsdl

    通信协议soap,wsdl作为描述

    协议变更:

    restful规则:get获取数据,post提交数据,put修改数据,delete删除数据

  2. dubbo协议:接口地址:dubbo://..........

    由阿里发行的,适用于小量数据的传输,大并发

  3. http协议:接口地址:http://............

什么是http协议:

超文本传输协议,用于浏览器和服务器之间交互数据的协议,交互由两个部分。

请求方法:get/post/put/delete/head/connect/options/trace

请求头:

响应:

请求内容:

响应内容:

企业接口测试流程和方案

  1. 拿到api接口文档,熟悉接口业务,接口地址、鉴权、入参、出参、错误码

  2. 接口测试计划和方案:思路:

    正例:输入正查昂的入参,查看接口是否返回成功

    反例:

    ​ 鉴权反例:鉴权为空、鉴权码错误、鉴权码过期

    ​ 参数反例:参数为空、参数类型异常、参数长度异常、错误码的覆盖

    ​ 其他场景:分页异常

  3. 编写测试用例

  4. 执行接口测试

  5. 输出测试报告

Postman用于在get请求传参

Authorization:Postman自带鉴权功能

Headers:请求头

Body:post请求传参

​ none:没有参数

​ form-data:既有文件又有键值对

​ x-www-form:只传键值对

​ raw:传Json、txt、xml、html

​ binary:把文件以二进制方式传输

Pre-request Script:接口请求之前的脚本。JS

Tests:断言代码

Settings:设置

Cookies:Postman的coolies管理器

code:生成接口自动化脚本


Body:返回的数据

  1. Peretty:以Json格式展示
  2. Raw:以文本格式展示
  3. Preview:以网页的格式展示

Cookies:返回的coolies信息

Headers:响应头

Test Results:断言

Postman内置动态参数

时间戳:{{$timestamp}}

生成0-1000的随机整数:{{$randomint}}

生成一个GUID的字符串:{{$guid}} 一个长字符串

Postman环境变量和全局变量

在测试过程中,可能需要在不同的环境中进行测试:开发环境、测试环境、预发布环境、线上环境等,这时就需要进行环境变量设置。

通过{{variable}}调用

不管是环境变量还是Globals都是全局变量

Postman接口关联(相当于jmeter的json提取器)

一、通过提取保存并设置全局变量来达到关联目的,通过设置{{variable}}调用

提取返回的access_token值,在断言(Tests)中输入:

var jsValue = JSON.parse(responseBody)
console.log(jsValue.access_token)

把提取到的值保存到全局变量Globals中

pm.globals.set("access_token",jsValue.access_token);
// 设置变量名,添加变量参数

调用{{access_token}}

二、通过正则表达式提取

responseBody表示返回的数据内容

var flag_id = responseBody.match(new RegExp('"id":(.+?),'))[1]
console.log(flag_id)
pm.globals.set("flag_id",flag_id);

调用{{flag_id}}

三、cookie提取器
var csrf_token = postman.getResponseCookie('csrf_token').value;
pm.globals.set("csrf_token",csrf_token);

Postman八种断言方式

  1. 断言返回码为200:Status code:Code is 200 状态断言
  2. 断言返回结果种包括有一个指定的字符串:Response body:Contains striing 业务断言
  3. 对返回的结果做JSON字段检查:Response body:JSON value check 业务断言
  4. 断言返回的结果等于一个字符串:Response body:Is equal to a string 业务断言
  5. 断言响应头中包含有指定的响应头:Response body:Content-Type header check 业务断言
  6. 断言接口请求时间少于200毫秒:Response time is less than 200ms 性能断言
  7. 断言一个post请求的返回状态码是否在指定的范围里:Status code:Successful POST request
  8. 断言返回的状态码信息中包含指定的字符串:Status code:Code name has string

123较为常用:状态断言+业务断言

精确断言:在pre-request-script中添加前置脚本,添加全局变量。然后在断言里面调用全局变量。调用使用拼接的方式。

postman+newman+jenkins持续集成

postman导出用例+环境+全局变量

使用newman命令执行操作:newman run "<用例路径>" -e "<环境路径>" -g "<全局变量路径>" -r cli,html,json,junit --reporter-html-export "<输出路径>"

Jenkins添加Groovy script 脚本为了能看到报告:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

postman 接口加解密和接口签名(待完善)

点赞
收藏
评论区
推荐文章
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
liam liam
2年前
高效进行接口测试,简单易懂!
前言日常测试过程中,常常需要多种工具来接力完成自己的接口测试任务。比如说,使用swagger查看接口文档,使用mock编造接口数据对前端页面做测试使用postman测试后端接口,用Jmeter来做接口自动化测试/性能测试。那有没有一款软件可以完美集成以上所有的功能?笔者发现一款叫Apifox的软件,一款完成能完成以上几乎所有软件的功能。官方给出Apifox(
捉虫大师 捉虫大师
3年前
使用dubbo-go搭建dubbo接口测试平台
背景http接口测试只需要一个curl命令,但dubbo协议没有这样的现成接口测试工具。通常公司内的dubbo控制台或其他平台会集成一个dubbo接口测试工具。调用一个dubbo接口,需要知道服务名service、方法名method和参数args。正常的调用,调用方需引入服务提供方定义的接口jar包。作为接口测试平台,没办法引入所有提供方定义的接口jar包,
Wesley13 Wesley13
3年前
RPC接口测试(三) RPC接口测试
RPC接口测试接口测试主要分HTTP和RPC两类,RPC类型里面以Dubbo较为知名。互联网微服务架构,两种接口都需要做接口测试的,不管是业务测试还是回归测试;Dubbo:Java栈的互联网公司比如阿里、美团、58、滴滴、京东等等都是差不多的服务端架构,所以这些公司,两类接口测试也是必不可少的工作部分;Dubbo是一
Stella981 Stella981
3年前
Python 接口自动化测试
1\.接口基础知识1.1接口分类接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。(1)webservice接口:走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都要通过工具才能进行调用,测试。(2)httpapi接口:走http协议,通过路径来区分
Wesley13 Wesley13
3年前
unittest单元测试框架前言
一.在我们没有学习过python语言的时候领导让我们做接口测试我们都使用工具来做测试,一般常用的如jemeter,postman这些个工具,我来推荐使用postman这个工具来进行接口测试,有的小伙伴们说Fiddler或Charles抓接口,然后进行测试不也成吗?成是成,但是接口测试往往优先于客户端测试并且postman这个工具方便用来模拟异常请求,并
Stella981 Stella981
3年前
PostMan安装测试与使用
从分层测试角度来说,接口测试是相对来说性价比最高的,且作为功能测试进阶的必备技能,接口测试值得大家都去学习掌握。工欲善其事,必先利其器,好的工具能更好的帮助工程师更高效率的完成工作。常见的接口测试工具很多,比如:postman。这篇博客,就简单介绍下postman以及基本使用。一、简介及安装postman是一款功能强大的网页调试和
Wesley13 Wesley13
3年前
API 资源隔离系统设计与实现
_(马蜂窝技术原创内容,公众号ID:mfwtech)_Part1背景大交通业务需要对接机票、火车票、租车、接送机等业务的外部供应链,供应商的数据接口大部分通过HTTP、HTTPS等协议进行通信。为了保证开发进度并支持集成测试时进行多场景支持,我们往往需要对供应商接口进行MOCK。之前我们在开发环境和
liam liam
2年前
为什么越来越多的开发者放弃使用Postman,而选择Apifox
一、API调试常用解决方案1、PostmanSwaggerMockJMeter作为一个后端开发,我做的大部分项目一般都是基于Swagger来管理API文档,基于Postman来做接口调试,基于JMeter来做接口性能测试,基于RAP等工具MockAPI数据。\2、存在的问题(1)多系统数据不互通API设计者、前
API 小达人 API 小达人
1年前
JSON 格式的接口测试流程【Eolink Apikit】
在进行JSON格式的接口测试时,需要使用工具发送HTTP请求并获取响应。测试工具可以是单独的测试框架,如EolinkApikit。测试人员需要根据接口文档和测试用例编写测试脚本,然后运行测试并分析结果,以确保接口的质量和稳定性。当我们后端需要从前端拿到这些JSON数据,我们应该如何测试自己的接口呢?今天就来浅浅探讨一下JSON格式接口测试的流程。
C_N_Candy
C_N_Candy
Lv1
男 · 深圳 · 测试工程师
专业就是不断地学习,除去偶然性,你永远发现不了认知以外的BUG。
文章
2
粉丝
1
获赞
3