接口测试基础03——使用Postman工具

2023-12-20 05:56:11

一、下载与安装

1、postman 下载安装,如果之前没有注册过,则创建一个新的用户,注册。如果之前有账户,则sign in登录即可。

2、安装postman插件newman

? ? ? ? (1)安装node.js:

????????????????打开cmd终端,输入命令:npm -v 如果能够显示版本号,可以跳过这一步

????????????????下载https://nodejs.org/

????????????????双击安装,一路next即可

???????????????安装完成后关掉第一步打开的cmd终端,重新打开一个cmd终端,再次输入命令:npm -v

? ? ? ? (2)在线安装命令:npm install -g newman。注意安装过程中不要用鼠标点cmd的页面,点击会导致安装暂停。

? ? ? ? (3)验证安装是否成功:newman -v,能看到版本号即可

? ? ? ? (4)给newman再安装一个插件:newman-reporter-html,

????????????????命令为npm install -g newman-reporter-html

二、创建请求

点击右侧加号,添加一个请求,或在用例集右键——add request 添加一个请求。

选择请求方法:

填写URL:注意填URL时不要有空格、换行符(太长自动换行不算,不要在复制的时候多复制一个换行就行)

填写请求头数据:

填写请求体:只有Post或put方法有请求体,其他方法没有,请求体的数据格式一定要与请求头的Content-type规定的类型一致。

如果请求体数据是json原始数据:

至此已经可以做一个独立的请求了,点击Send按钮即可发送。

如果需要前置条件或需要对请求得到的数据进行断言或二次利用,继续往下。

添加前置操作:

添加后置操作——断言:

三、管理用例集

新建用例集:

导出用例集:

导入用例集:

四、用例关联

A依赖B接口的数据,先执行B,将结果保存值全局或环境变量,在A 中获取全局或环境变量值

1、全局变量与环境变量

????????全局变量:Postman全局都能生效,全局唯一的,不可以重复定义

????????环境变量:一个变量只能属于某个环境,在某个环境中不可以重复定义。环境与环境之间可以重复定义。一个环境可以包含多个环境变量。

????????环境分类:开发环境、测试环境、生产环境。设置变量前要将环境提前设置好

2、设置变量:

? ? ? ? (1)设置全局变量:

? ? ? ? ? ? 当变量值已知且不变时(例如项目域名,在整个测试过程中都可能用到,而且在测试前就已知,且不会改变),可以将其手动设置为全局变量、

? ??

? ? ? ? 当变量名需要使用某个操作的结果数据时,使用代码设置:在Tests模块编写代码如下:????????pm.globals.set("变量名","变量值")

? ? ? ? (2)环境变量:

? ? ? ? ? ? ? ? 手动设置(同样适用于已知且不变的数据):

? ? ? ? ? ? ? ? 代码设置:?pm.environment.set("变量名","变量值")

3、使用变量:

(1)在请求参数中获取(即在Postman页面中使用):{{变量名}}

(2)在代码中获取:

????????var value = pm.globals.get("变量名");

????????var value = pm.environment.get("变量名");

4、查看变量设置情况:

案例:获取天气信息,将响应中的城市名给百度搜索

? ? ? ? (1)创建用例集,分别创建获取天气、百度搜索的request

? ? ? ? (2)根据第②步的响应数据,知道了响应回来的JSON具体内容,根据这个内容取出city的值。在Tests标签中获取JSON数据,再逐层取出city的值,将city的值设置为全局变量供百度搜索接口使用。

? ? ? ? (3)获取天气:填写请求方法、URL,先send一波。查看接口是否能正常访问,同时也能获取响应示例。

如果想要把city设置成环境变量,在Tests将它设置成environment变量a后,后续使用环境变量时使用的是环境变量a,需要注意的是这个环境变量,只在当前环境有效,切换环境后就失效了。全局变量则不受环境切换影响

? ? ? ? (4)百度搜索:填写请求方法、URL,根据百度URL的特点可以知道,搜索关键字通常放在URL查询参数wd的值中,所以将全局变量city的值传递给wd,作为查询参数传递给百度查询接口。send可以在返回内容栏的Preview标签中预览返回内容

五、批量执行

1、执行前确认每一个request都能执行无误。

2、点击用例集,点击run按钮,在Runner的设置页面中选中需要执行的request,然后点击批量执行测试用例即可。

六、参数化

1、什么是参数化:当http请求有较高相似度时,考虑使用参数化。将变量、测试数据组织在数据文件中,读取外部文件实现参数化

2、数据文件:

????????CSV:

????????????????缺点:

????????????????????????不支持复杂数据类型(嵌套字典、列表等)

????????????????????????不支持多参、少参、无参、错误参数的接口测试

????????????????????????不支持bool类型,数据被Postman读取后自动添加

????????????????优点:数据组织形式简单,适用于大量数据的场合

????????JSON:

????????????????优点:

????????????????????????支持复杂数据类型(嵌套字典、列表等)

????????????????????????支持参、少参、无参、错误参数的接口测试

????????????????????????支持bool类型

????????????????缺点:相同数据量,JSON文件大小远大于CSV

3、使用文件:

? ? ? ? (1)创建文件XXX.csv

? ? ? ? (2)将数据写入到CSV文件中,第一行是字段名称,从第二行往后是数据值,一行中数据用逗号隔开,一行为1条用例数据,有中文一定要确认编码是UTF-8

注意:Postman要求JSON格式的数据文件,数据内容的最外层必须是[ ],[]内部的所有数据用{}存储。

? ? ? ? (3)导入文件:

????????????????????????

5、使用:

????????在请求参数中使用:{{key}}。例如{{username}}

????????在代码中使用:借助Postman提供的关键字data.key。例如data.password

使用文件中的参数后就不能再使用send发送请求,需要批量执行。

七、生成报告

1、Postman生成测试报告

(1)装newman及其插件newman-reporter-html插件成功(参考1章.)

(2)将用例集批量执行1次(参考6章),无误后导出用例集(参考3章)

(3)打开找到文件保存目录,在目录地址栏输入cmd在此打开命令行,使用newman命令运行导出的测试集脚本:

newman run 测试脚本文件名(必填)-e 环境变量文件(可选) -d 测试数据文件(可选) -r html ?--reporter-html-export report.html

命令解析:

run执行

测试脚本文件名:即导出的测试用例集文件名称。中文也可以识别。

注意:如果没有在测试脚本文件的目录下打开cmd,则这个文件与命令行 的执行目录下不一致,此时要加上文件路径才能找到文件。

-e 环境变量文件名:导出的环境变量文件(该文件也是Postman批量执行的引入外部文件),同样,不在命令行的执行目录时,需要加文件路径。中文也可以识别。

-d 测试数据文件名:导出的测试数据文件,同样是Postman批量执行的引入外部文件。不在命令行的执行目录时,需要加文件路径。中文也可以识别。

-r html

--reporter-html-export ?

report.html:测试报告名称,后缀.html不可以更改。中文也可以识别。

查看报告:到终端的执行目录下,找到测试报告report.html,双击打开。

文章来源:https://blog.csdn.net/Chrisliuluo/article/details/135087106
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。