一、安装
下载地址:https://www.getpostman.com/postman
下载完成后的exe文件直接双击运 行,按提示逐步完成安装即可。
二、Postman基本使用
初次使用Postman
第一次打开Postman时,会弹出一个账号登录界面,如图。
Postman基于账号提供了云端同步 postman测试数据和团队协作功能, 推荐注册一个账号使用,如果不想注册,点击下方skip或者直接关闭窗口 即可。
Postman使用
接下来将会弹出新建窗口引导: Create New 菜单用于创建单个 测试、测试集、环境变量等 Template 和 API Network 提供 了一系列他人发布的模板,可供测试学习使用。
三、发起第一个接口请求
第一个接口请求实战
开发的天气API接口地址: https://www.tianqiapi.com/api
接口文档地址: http://www.tianqiapi.com/?action=v1
注意:天气api更新了,也需要注册获取apicode并传参才能使用,具体参阅其接口文档。
Postman基本功能使用
四、接口测试
什么是接口测试?
接口测试就是针对软件对外提供服务的接口的输入输出进行测试,以及接口间相互逻辑的 测试,验证接口功能与接口描述文档的一致性。
为什么做接口测试
接口测试通常能够对系统测试得更为彻底,更好地保障产品质量,同时越早越底层的发现问题,修改和维护的代价也越小。
如何做接口测试
根据接口文档设计用例,调用接口,验证结果。
接口测试流程
- 获取接口信息
通过接口文档和抓包来获取接口的基本调用方式和返回 - 接口测试用例设计
根据获取到的接口信息,按照接口测试用例设计方法,设计参数和预期返回结果。 - 接口发包
使用工具或者编程向接口传递参数。 - 返回信息验证
获取接口返回的结果,进行解析和验证。
五、Postman发起接口请求
通过chrome浏览器中按下F12打开开发者工具,切换到network菜单,对浏览器中的动 作进行抓包。
-
请求部分
在接口测试中,接口请求信息中,重点需要关注4大信息:接口URL地址、请求方法、 请求头以及请求参数。
-
接口收发包
简单理解,接口收发包的过程就像通过快递公司寄快递,需要知道对方的地址(URL)、选 择快递公司(HTTP方法)、填写快递单(头域信息)、包装快递物品(发送请求体参数)。
-
发起接口请求
根据抓包信息,填写 HTTP方法、URL、请 求参数、以及请求地址 之后,点击send发包, 即可得到请求的响应返 回信息。
-
获取响应返回信息
接口的响应包中,测试关注的重点在于响应的正文主体,同时可能对响应头和状态码进行校验
-
Postman获取响应
Postman请求发起之 后将得到响应结果, 包括响应主体、响应 头、cookies、状态 码、请求耗时、报文 数据大小等信息。
而接口测试,主要 就是对响应得到的 信息进行验证,是 否与用例设计预期相符。
-
Postman接口请求实战
百度IP接口实战
接口地址:https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php 需要设置头域的请求实战
腾讯课堂评论接口,获取信息时需要添加头域referer,才能获取到正确的评论信息。 接口地址:https://ke.qq.com/cgi-bin/comment_new/course_comment_list 访问地址:https://ke.qq.com/course/315793?tuin=227706b0
Post接口实战
使用用友云提供的新发债券查询接口进行测试。
接口地址:
https://api.yonyoucloud.com/apis/pte/New_Issue_Bond_Information/New_Issue_Bond_Information
接口申请描述地址:
https://api.yonyoucloud.com/apilink/tempServicePages/b1277b7e-b1e3-445c-818a-cdcd457f298c_true.html
Json格式请求发包实战
接口地址:https://b.zhulogic.com/designer_api/account/login_quick_pc 网站访问地址:https://b.zhulogic.com/next/sign?redirect=%2F -
Post接口请求实战
请求体与Content-Type头域
之前案例中使用的GET方法接口都是通过在URL中添加请求参数的方式完成参数传递。 在对使用POST方法的接口进行测试时,需要特别注意请求参数在body中的格式以及 请求头中的Content-Type头域,该头域规定了接口接受的请求参数传值格式。
在Postman请求体中传递参数时,在body菜单中设置请求体的格式。
x-www-form-urlencoded对应于Content-Type头域为x-www-form-urlencoded的类型,是以键值对形式发送的表单参数,同时参数会携带在url中。
form-data对应于Content-Type的multipart/form-data类型,既可以发送键值对也
可以进行文件参数传递。
raw选项中可以使用请求体原始格式编辑各Content-Type类型对应的参数格式,直接 按请求体的格式来进行内容发送。
binary选项用于发送文件内容请求。
六、断言和变量
- 环境变量与全局变量
接口测试过程中,经常需要使用已 经设定好的参数或者从其他接口的 返回中获取变化的参数。Postman 提供了变量的机制供这种场景使用。
Postman变量分为环境变量和全局 变量两种,在接口请求中可以选择 一组环境变量使用。而全局变量可 供所有请求使用。 使用变量的格式为{{变量名}}调 用变量的值。
- 测试沙箱实战
测试沙箱常用功能
Postman测试沙箱其实是结合JS脚本完成测试中的功能,在请求发起前后实 现部分测试操作。
常用功能:
• 请求前脚本(pre-request scripts)设置请求前置操作如设置变量等。
• 请求后对状态码、响应头、响应正文等信息进行断言操作。
使用console控制台进行调试
通过console查看接口请求返回信息,以及对脚本中使用的变量进行输出调试等操作。
- 返回信息断言验证
为了更直观地进行接口测 试,可以设置断言,来完 成对响应结果的校验。
• 设置tests脚本,在右 侧snippets中,提供 了许多场景的脚本模 板可以直接套用。
• 发包之后在响应面板 中将得到测试结果。
• 官方文档地址: https://go.pstmn.io/ docs-test-scripts
七、测试管理-测试集与数据驱动
- Postman测试集
测试集使用
为了更方便地管理接口请求的执行,可以通过postman测试集(collection)来完 成测试的操作,每一个测试请求可以看成一个测试用例(testcase),collections 能够一次管理多个测试用例来执行。通过save,能够将请求保存到collections中使用。
- Postman测试集使用
- Postman数据驱动
当需要进行数据驱动方式运行多次Postman脚本时,可以通过csv文件或者json格式的文 件对接口测试数据进行管理,以方便用例管理执行。
接口请求使用数据驱动数据
在接口请求中,参 数使用变量名获取, 之后在创建数据文 件时,使用这些变 量名编辑测试数据。
在测试沙箱中,参 数的获取用data. 参数名的形式来进 行读取。
- Postman数据驱动
当需要进行数据驱动方式运行多次Postman脚本时,可以通过csv文件或者json格式的文 件对接口测试数据进行管理,以方便用例管理执行。
创建测试数据文件
创建一个csv格式文件之后, 通过notepad++或者 excel进行编辑。 注意:文件需要使用UTF-8 编码,创建了csv文件之后, 在notepad++中使用编码 菜单中的转为UTF-8编码功 能将文件转为UTF-8编码使 用。
文件中第一行必须是接口请 求使用的变量名,后续每行 填写本次执行使用的变量值
- Postman数据驱动
使用测试数据文件
在collection runner中data选项选择编辑好的测试数据文件,preview能够查看文件预览, 确保文件读取内容无误。
八、进阶实战-cookie篇
在接口测试中某些接口的调用需要使用已有cookie,Postman操作cookie可以有两种方式。
Postman接口请求使用Cookie
1、直接在头域中添加cookie头域,适用于已知请求时的cookie头域的情况
2、使用Postman的cookie管理机制,既可以手动添加,同时Postman也会将操作流程中获取的参数自动保存,因此可以通过调用前置接口来完成cookie获取。
电商接口测试实例
使用电商项目进行测试,在登录接口完成登录之后,通过购物车接口获取购物车中的信息。 由于购物车接口需要使用登录后的cookie保持登录状态。 注意:电商网站访问地址发生了变化,新网址:http://www.testingedu.com.cn:8000/index.php
登录接口:
http://www.testingedu.com.cn:8000/index.php?m=Home&c=User&a=do_l ogin&t=0.5404187243051779
购物车接口:
http://www.testingedu.com.cn:8000/index.php?m=Home&c=Cart&a=head er_cart_list
九、进阶实战-token篇
接口测试项目实例
使用接口测试项目实例,注册、登录、获取用户信息、登出接口均需要获取auth接口获取 到的token进行使用,因此通过auth接口返回信息获取token之后,存为变量供后续接口 调用。
- 鉴权接口:http://testingedu.com.cn:8081/inter/HTTP/auth 该接口返回一个token值,之后的所有接口请求均需添加token头域使用该token
- 注册接口:http://www.testingedu.com.cn:8081/inter/HTTP/register
- 登录接口:http://testingedu.com.cn:8081/inter/HTTP/login
该接口返回一个userid,在请求用户信息时使用,因此保存为变量。 - 获取用户信息接口:http://www.testingedu.com.cn:8081/inter/HTTP/getUserInfo
该接口需要使用登录获取的userid,因此使用保存的userid变量值。 - 注销接口:http://testingedu.com.cn:8081/inter/HTTP/logout
十、Postman持续集成
十一、Postman其他功能
1.Postman抓包
抓包获取接口信息
对接口进行测试的第一步是获取接口信息,最好通过接口文档获取,并且通过抓包确认。 抓包工具: fiddler、charles、chrome浏览器开发者工具,也可使用postman进行抓包。
2.Postman脚本导出
Postman的脚本可以通过导出功能导出为多种语言代码脚本
3.Postman接口鉴权
某些接口可能在调用时需要鉴权之后使用,根据接口规则,在postman中可以通过请求面板 中的authorization菜单进行相应设置,通常无须设置。
Postman:接口测试工具,在文本框填入想要测试的URL,然后选择对应的方法,在下方可填入对应参数,确认后,下面的文本框就会出现应该得到的内容,可以和自己的预期结果对比,看是否符合自己的预期。填写完毕后,会返回返回体body、cookies、 headers、TestResults(如果上面编写了Test脚本则会后返回结果)
百度ip接口实践
百度ip查询接口测试,F12打开开发者工具,切换到network,清空然后点击查询,查看script中的header信息,拿到url,打开postman。
1、创建新项目百度接口(名字,保存文件夹),通过改变参数的值和勾选参数种类一个个测试,参数对结果有怎样的影响(是否必填,改变有何影响),
2、可在参数文本框内用等价类边界值测试哪些合理哪些不合理(异常与错误请求)
面试遇到问题:(接口测试在功能测试之前进行)
1、postman A 接口的返回值做 B 接口的请求参数值
答:将接口A的返回值存入环境变量中。在B 接口中对值进行参数化。