Postman基础使用-做接口测试(总结)

目录

1.简介

2.工具安装使用

3.请求区域介绍

4.接口结果判断---断言

5. 参数化

6.批量设置测试集,执行


1.简介

为什么要做接口测试?

接口测试由于绕开了前端,直接通过请求调用的方式进行测试,有很大优势:
   1、更早的测试介入,只要接口开发完成,便可以测试。
   2、更多的场景覆盖,因为绕过了前端控制,测试场景也比较自由。
   3、接口测试从项目的角度,工作量低于功能测试,投资回报较高。

2.工具安装使用

一、工具下载
官网下载地址:https://www.postman.com/downloads/ 

注:记得选择下载的版本。

 

二、工具安装
下载完成后,双击 FiddlerSetup.exe 安装,可能会需要邮箱、用户名、密码注册、给团队命名,不然无法继续下一步,反正,我安装的时候是这样的。

成功进入postman页面后,接下来我们正式进行postman的系统教程吧。

1.在右上角的设置里可以设置postman的主题。


2.这里我没有修改主题,默认是白色背景,也可以设置成黑色的,看个人爱好吧!

 

 3.一些常用的快捷键

 


4.接下来,介绍Postman的基础功能。


5.左边部分,collection(接口集)在postman里面相当于一个文件夹,可以把同一个项目的请求放在一个Collection里方便管理和分享,Collection里面也可以再建文件夹。这里我们做一个普通接口的简单的示例:

 


6.右键,创建一个请求。


7.给接口命名为 测试接口,对测试接口的描述可写可不写,点击 ‘Save to 测试’ 即保存成功。

  


8.点击刚刚创建好的请求,现在是空白的。


9.输入一个get请求,params里会自动显示参数,我这里用的是百度链接:https://www.baidu.com/。

  


注:点击 Send 按钮,查询成功。
10.这样就完成了一次简单的测试接口的请求。


3.请求区域介绍


1、 Authorization:身份验证,主要用来填写用户名密码,以及一些验签字段,postman有一个helpers可以帮助我们简化一些重复和复杂的任务。当前的一套helpers可以帮助你解决一些authentication protocols的问题。

 

2、Headers:请求的头部信息。

3、Body:post请求时必须要带的参数,里面放一些key-value键值对。

4、Pre-requerst Script:可以让你在 请求之前自定义请求数据,这个运行在请求之前,语法使用JavaScript语句。

5、tests:tests标签功能比较强大,通常用来写测试,它是运行在请求之后。支持JavaScript语法。postman每次执行request的时候,会执行tests。测试结果会在tests的tab上面显示一个通过的数量以及对错情况。它也可以用来设计用例,比如要测试返回结果是否含有某一字符串。

6、form-data:它将表单数据处理为一条消息,以标签为单元,用分隔符分开。既可以单独上传键值对,也可以直接上传文件(当上传字段是文件时,会有Content-Type来说明文件类型,但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。)是post请求里较常用的一种。

 

注:上传文件,选中 File 。
7、x-www-form-urlencoded:对应信息头-application/x-www-from-urlencoded,会将表单内的数据转换为键值对。

8、raw:可以上传任意类型的文本,比如text、json、xml等,所有填写的text都会随着请求发送。

9、binary:对应信息头-Content-Type:application/octet-stream,只能上传二进制文件,且没有键值对,一次只能上传一个文件, 也不能保存历史,每次选择文件,提交。
.

4.接口结果判断---断言

首先,既然是自动化测试,那么我们肯定需要通过工具Postman或者代码,帮我们直接判断结果是否符合预期。那么在接口测试上,大体就两个思路:

  1. 判断请求返回的 code 是否符合预期

  2. 判断请求返回的内容中是否包含预期的内容(关键字)

 

也可以自己之间编辑js脚本,上述部分断言可简单化

另一种断言方式:Tests

//根据返回的 Code 判断请求情况

tests[“Status code is 200”] = responseCode.code ===200;

Response body: Contains string

//判断返回的内容中是否存在“关键字”。(tests 的 key 可修改,将不再强调)

tests[“Body matches string”] = responseBody.has(“这里可以改为你要判断的关键字内容”);

//判断结果中是否存在 access_token 关键字

tests[“has access_token”] = responseBody.has(“access_token”);

Response body: is equal to string

//判断返回内容是否跟预期完全相等。

tests[“Body is correct”] = responseBody ===“这里可以改为你的预期内容”;

Response body: JSON value check

//上文提到,responseBody 为字符串类型,支持转为 Json 格式

varjsonData = JSON.parse(responseBody);

tests[“Your test name”] = jsonData.value===100;

Response time is less than 200ms

//判断请求时长是否小于200ms ,具体时长按情况自定义

tests[“Response time is less than 200ms”] = responseTime <200;

注:若返回对象是xml格式,可通过这个进行转换json,并在postman console (控制台)查看具体信息

5. 参数化

// 环境参数化,用户数据,接口动态关联参数....

环境变量与全局变量的区别?

环境变量相当于新建一个版本,在版本中设置变量,在该版本下所有接口都可以调用该接口。
全局变量是只能在本集合下所有接口调用

 1.设置环境变量


 postman.setEnvironmentVariable("key", "value"); 
 例子: postman.setEnvironmentVariable("url", "http://192.168.36.47/v2/api"); 
使用环境变量的格式:{undefined{url}}

1.1清除环境变量
postman.clearEnvironmentVariable("variable_key");
例子:postman.clearEnvironmentVariable("url");

2.设置一个全局变量
postman.setGlobalVariable("key", "value"); 
例子:postman.setGlobalVariable("username", "123@qq.com");
使用全局变量格式:{undefined{variableName}}

2.1清除一个全局变量
postman.clearGlobalVariable("key", "value"); 
例子:postman.clearGlobalVariable("username", "123@qq.com"); 

在这里插入图片描述

 

2.动态关联,根据上一个接口返回的值设置为全局变量参数,下一个接口入参时直接引用{{参数名}},如登录态的关联token

 

 

 

 

3.文档参数化

当变量的参数可以有很多中不同数据时,可采用文档导入数据运行。
具体步骤如下:
1、登陆的账号和密码可有不同用例,可以先设置为变量

在这里插入图片描述

 

2.通过txt/csv文件编写测试数据,用逗号分割

在这里插入图片描述

 

  • 3、点击接口所在的目录夹中的Run
    在这里插入图片描述

4、选择完类型后自动按文件的行做为运行次数,若没有统计到,可自行输入运行次数。点击运行。
在这里插入图片描述
在这里插入图片描述
点击Preview可预览导入的数据是否正常
在这里插入图片描述
5、返回运行结果
在这里插入图片描述

6.批量设置测试集,执行

1.录入所有接口,然后接下我要对所有的接口进行这样的测试

在这里插入图片描述

 

2.执行自动化测试

在这里插入图片描述

 

点击集合的Run按钮

弹出如下界面,可以填写相应的参数,这里我用默认的

在这里插入图片描述

 

点击Run,执行结果如下

在这里插入图片描述

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值