栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

Postman(使用指南)

Python 更新时间:发布时间: 百科书网 趣学号

Postman简介

Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中。旨在简化测试和开发中的API工作流。

Postman 工具有 Chrome 扩展和独立客户端,推荐安装独立客户端。

Postman 有个 workspace 的概念,workspace 分 personal 和 team 类型。Personal workspace 只能自己查看的 API,Team workspace 可添加成员和设置成员权限,成员之间可共同管理 API。

当然我个人使用一般是不登录的,因为登录之后会自动将你的测试历史数据保存到账户里,你可以登陆网页端进行查看。
因为API的很多数据是很敏感的,有的含有Token,或者就是一些私密信息,虽然Postman自己也强调说这样很安全,不会私下窥探用户的信息之类的,但是呢还是至少做一点有效的防范吧,自己不上传,因为网络并没有绝对的安全。
所以我每次测试之后会将数据(Case)保存在本地,下次使用或者换设备的情况下将数据拷贝过来又可以继续使用了。

为什么选择Postman

如今,Postman的开发者已超过1000万(来自官网),选择使用Postman的原因如下:
简单易用 - 要使用Postman,你只需登录自己的账户,只要在电脑上安装了Postman应用程序,就可以方便地随时随地访问文件。
使用集合 - Postman允许用户为他们的API调用创建集合。每个集合可以创建子文件夹和多个请求。这有助于组织测试结构。
多人协作 - 可以导入或导出集合和环境,从而方便共享文件。直接使用链接还可以用于共享集合。
创建环境 - 创建多个环境有助于减少测试重复(DEV/QA/STG/UAT/PROD),因为可以为不同的环境使用相同的集合。这是参数化发生的地方,将在后续介绍。
创建测试 - 测试检查点(如验证HTTP响应状态是否成功)可以添加到每个API调用中,这有助于确保测试覆盖率。
自动化测试 - 通过使用集合Runner或Newman,可以在多个迭代中运行测试,节省了重复测试的时间。
调试 - Postman控制台有助于检查已检索到的数据,从而易于调试测试。
持续集成——通过其支持持续集成的能力,可以维护开发实践。

如何下载安装Postman?

官网主页:https://www.postman.com/downloads/, 下载所需版本进行安装即可。

 现在基本都是win10的系统,肯定下载64的

 傻瓜式一键安装后:

 双击打开:(血轮眼)别急,等一会

 不是最新版本,所以有更新提示,不用搭理。

 如果是空的,则为:

 

如何使用Postman

下图是Postman的工作区间,各个模块功能的介绍如下:

1、New,在这里创建新的请求、集合或环境;还可以创建更高级的文档、Mock Server 和 Monitor以及API。
2、import,这用于导入集合或环境。有一些选项,例如从文件,文件夹导入,链接或粘贴原始文本。
3、Runner,可以通过Collection Runner执行自动化测试。后续介绍。
4、Open New,打开一个新的标签,Postman窗口或Runner窗口。
5、My Workspace - 可以单独或以团队的形式创建新的工作区。
6、Invite - 通过邀请团队成员在工作空间上进行协同工作。
7、History - 所有秦秋的历史记录,这样可以很容易地跟踪你所做的操作。
8、Collections - 通过创建集合来组织你的测试套件。每个集合可能有子文件夹和多个请求。请求或文件夹也可以被复制。
9、Request tab - 这将显示您正在处理的请求的标题。默认对于没有标题的请求会显示“Untitled Request”。
10、HTTP Request - 单击它将显示不同请求的下拉列表,例如 GET, POST, COPY, DELETE, etc. 在测试中,最常用的请求是GET和POST。
11、Request URL - 也称为端点,显示API的URL。.
12、Save - 如果对请求进行了更改,必须单击save,这样新更改才不会丢失或覆盖。
13、Params - 在这里将编写请求所需的参数,比如Key - Value。
14、Authorization - 为了访问api,需要适当的授权。它可以是Username、Password、Token等形式。
15、Headers - 请求头信息
16、Body - 请求体信息,一般在POST中才会使用到
17、Pre-request script - 请求之前 先执行脚本,使用设置环境的预请求脚本来确保在正确的环境中运行测试。
18、Tests - 这些脚本是在请求期间执行的。进行测试非常重要,因为它设置检查点来验证响应状态是否正常、检索的数据是否符合预期以及其他测试。
19、Settings - 最新版本的有设置,一般用不到。

数据显示格式:(JSON)

 

如何处理GET请求

测试URL:

https://jsonplaceholder.typicode.com/users

在Postman的工作区中:
1、选择HTTP请求方式为GET
2、在URL区域输入 链接
3、点击 “Send”按钮
4、你将看到下方返回200状态码
5、在正文中应该有10个用户结果,表明您的测试已经成功运行。

 

如何处理POST请求1

访问地址:

https://jsonplaceholder.typicode.com/users

 

如何处理POST请求2

Post请求与Get请求不同,因为存在用户向端点添加数据的数据操作。使用之前GET 请求中相同数据,现在添加我们自己的用户。
创建一个新请求

1、选择HTTP请求方式为POST
2、在URL区域输入 链接:

https://jsonplaceholder.typicode.com/users

3、切换到Body选项

1、选中raw选项
2、选择JSON

复制前面GET请求返回的json内容的第一节
更改id为99,更改name以及uesrname和email

[    {        "id": 99,        "name": "liyang",        "username": "zhongyi",        "email": "liyang@163.com",        "address": {            "street": "Kulas Light",            "suite": "Apt. 556",            "city": "Gwenborough",            "zipcode": "92998-3874",            "geo": {                "lat": "-37.3159",                "lng": "81.1496"            }        },        "phone": "1-770-736-8031 x56442",        "website": "hildegard.org",        "company": {            "name": "Romaguera-Crona",            "catchPhrase": "Multi-layered client-server neural-net",            "bs": "harness real-time e-markets"        }    },    {        "id": 2,        "name": "Ervin Howell",        "username": "Antonette",        "email": "Shanna@melissa.tv",        "address": {            "street": "Victor Plains",            "suite": "Suite 879",            "city": "Wisokyburgh",            "zipcode": "90566-7771",            "geo": {                "lat": "-43.9509",                "lng": "-34.4618"            }        },        "phone": "010-692-6593 x09125",        "website": "anastasia.net",        "company": {            "name": "Deckow-Crist",            "catchPhrase": "Proactive didactic contingency",            "bs": "synergize scalable supply-chains"        }    },    {        "id": 3,        "name": "Clementine Bauch",        "username": "Samantha",        "email": "Nathan@yesenia.net",        "address": {            "street": "Douglas Extension",            "suite": "Suite 847",            "city": "McKenziehaven",            "zipcode": "59590-4157",            "geo": {                "lat": "-68.6102",                "lng": "-47.0653"            }        },        "phone": "1-463-123-4447",        "website": "ramiro.info",        "company": {            "name": "Romaguera-Jacobson",            "catchPhrase": "Face to face bifurcated interface",            "bs": "e-enable strategic applications"        }    },    {        "id": 4,        "name": "Patricia Lebsack",        "username": "Karianne",        "email": "Julianne.OConner@kory.org",        "address": {            "street": "Hoeger Mall",            "suite": "Apt. 692",            "city": "South Elvis",            "zipcode": "53919-4257",            "geo": {                "lat": "29.4572",                "lng": "-164.2990"            }        },        "phone": "493-170-9623 x156",        "website": "kale.biz",        "company": {            "name": "Robel-Corkery",            "catchPhrase": "Multi-tiered zero tolerance productivity",            "bs": "transition cutting-edge web services"        }    },    {        "id": 5,        "name": "Chelsey Dietrich",        "username": "Kamren",        "email": "Lucio_Hettinger@annie.ca",        "address": {            "street": "Skiles Walks",            "suite": "Suite 351",            "city": "Roscoeview",            "zipcode": "33263",            "geo": {                "lat": "-31.8129",                "lng": "62.5342"            }        },        "phone": "(254)954-1289",        "website": "demarco.info",        "company": {            "name": "Keebler LLC",            "catchPhrase": "User-centric fault-tolerant solution",            "bs": "revolutionize end-to-end systems"        }    },    {        "id": 6,        "name": "Mrs. Dennis Schulist",        "username": "Leopoldo_Corkery",        "email": "Karley_Dach@jasper.info",        "address": {            "street": "Norberto Crossing",            "suite": "Apt. 950",            "city": "South Christy",            "zipcode": "23505-1337",            "geo": {                "lat": "-71.4197",                "lng": "71.7478"            }        },        "phone": "1-477-935-8478 x6430",        "website": "ola.org",        "company": {            "name": "Considine-Lockman",            "catchPhrase": "Synchronised bottom-line interface",            "bs": "e-enable innovative applications"        }    },    {        "id": 7,        "name": "Kurtis Weissnat",        "username": "Elwyn.Skiles",        "email": "Telly.Hoeger@billy.biz",        "address": {            "street": "Rex Trail",            "suite": "Suite 280",            "city": "Howemouth",            "zipcode": "58804-1099",            "geo": {                "lat": "24.8918",                "lng": "21.8984"            }        },        "phone": "210.067.6132",        "website": "elvis.io",        "company": {            "name": "Johns Group",            "catchPhrase": "Configurable multimedia task-force",            "bs": "generate enterprise e-tailers"        }    },    {        "id": 8,        "name": "Nicholas Runolfsdottir V",        "username": "Maxime_Nienow",        "email": "Sherwood@rosamond.me",        "address": {            "street": "Ellsworth Summit",            "suite": "Suite 729",            "city": "Aliyaview",            "zipcode": "45169",            "geo": {                "lat": "-14.3990",                "lng": "-120.7677"            }        },        "phone": "586.493.6943 x140",        "website": "jacynthe.com",        "company": {            "name": "Abernathy Group",            "catchPhrase": "Implemented secondary concept",            "bs": "e-enable extensible e-tailers"        }    },    {        "id": 9,        "name": "Glenna Reichert",        "username": "Delphine",        "email": "Chaim_McDermott@dana.io",        "address": {            "street": "Dayna Park",            "suite": "Suite 449",            "city": "Bartholomebury",            "zipcode": "76495-3109",            "geo": {                "lat": "24.6463",                "lng": "-168.8889"            }        },        "phone": "(775)976-6794 x41206",        "website": "conrad.com",        "company": {            "name": "Yost and Sons",            "catchPhrase": "Switchable contextually-based project",            "bs": "aggregate real-time technologies"        }    },    {        "id": 10,        "name": "Clementina DuBuque",        "username": "Moriah.Stanton",        "email": "Rey.Padberg@karina.biz",        "address": {            "street": "Kattie Turnpike",            "suite": "Suite 198",            "city": "Lebsackbury",            "zipcode": "31428-2261",            "geo": {                "lat": "-38.2386",                "lng": "57.2232"            }        },        "phone": "024-648-3804",        "website": "ambrose.net",        "company": {            "name": "Hoeger LLC",            "catchPhrase": "Centralized empowering task-force",            "bs": "target end-to-end models"        }    }]

 

常用的Get与Post访问就介绍到这里了。

 

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/268507.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号