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

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)中输入:

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

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

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

调用{{access_token}}

二、通过正则表达式提取

responseBody表示返回的数据内容

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

调用{{flag_id}}

三、cookie提取器
1var csrf_token = postman.getResponseCookie('csrf_token').value; 2pm.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 接口加解密和接口签名(待完善)

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

高效进行接口测试,简单易懂!

前言日常测试过程中,常常需要多种工具来接力完成自己的接口测试任务。比如说,使用swagger查看接口文档,使用mock编造接口数据对前端页面做测试使用postman测试后端接口,用Jmeter来做接口自动化测试/性能测试。那有没有一款软件可以完美集成以上所有的功能?笔者发现一款叫Apifox的软件,一款完成能完成以上几乎所有软件的功能。官方给出Apifox(

使用dubbo-go搭建dubbo接口测试平台

背景http接口测试只需要一个curl命令,但dubbo协议没有这样的现成接口测试工具。通常公司内的dubbo控制台或其他平台会集成一个dubbo接口测试工具。调用一个dubbo接口,需要知道服务名service、方法名method和参数args。正常的调用,调用方需引入服务提供方定义的接口jar包。作为接口测试平台,没办法引入所有提供方定义的接口jar包,

Python 接口自动化测试

1\.接口基础知识1.1接口分类接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。(1)webservice接口:走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都要通过工具才能进行调用,测试。(2)httpapi接口:走http协议,通过路径来区分

unittest单元测试框架前言

一.在我们没有学习过python语言的时候领导让我们做接口测试我们都使用工具来做测试,一般常用的如jemeter,postman这些个工具,我来推荐使用postman这个工具来进行接口测试,有的小伙伴们说Fiddler或Charles抓接口,然后进行测试不也成吗?成是成,但是接口测试往往优先于客户端测试并且postman这个工具方便用来模拟异常请求,并