工具下载:https://www.postman.com/downloads/?utm_source=postman-home
> New,在这里创建新的请求、集合或环境;还可以创建更高级的文档、Mock Server 和 Monitor以及API。
> Import,这用于导入集合或环境。有一些选项,例如从文件,文件夹导入,链接或粘贴原始文本。
> Runner,可以通过Collection Runner执行自动化测试。
> History - 所有请求的历史记录,这样可以很容易地跟踪你所做的操作。
> Collections - 通过创建集合来组织你的测试套件。每个集合可能有子文件夹和多个请求。请求或文件夹也可以被复制。
> Request tab - 这将显示正在处理的请求的标题。默认对于没有标题的请求会显示“Untitled Request”。
> HTTP Request - 单击它将显示不同请求的下拉列表,例如 GET, POST, COPY, DELETE, etc. 在测试中,最常用的请求是GET和POST。
> Request URL - 也称为端点,显示API的URL。.
> Save - 如果对请求进行了更改,必须单击save,这样新更改才不会丢失或覆盖。
> Params - 在这里将编写请
求所需的参数,比如Key - Value。
> Authorization - 为了访问api,需要适当的授权。它可以是Username、Password、Token等形式。
> Headers - 请求头信息
> Body - 请求体信息,一般在POST中才会使用到
> Pre-request Script - 请求之前 先执行脚本,使用设置环境的预请求脚本来确保在正确的环境中运行测试
> Tests - 这些脚本是在请求期间执行的。进行测试非常重要,因为它设置检查点来验证响应状态是否正常、检索的数据是否符合预期以及其他测试
> Settings - 最新版本的有设置,一般用不到
![](https://i-blog.csdnimg.cn/blog_migrate/3e2122527caf0e82bd8bfefca4f4664b.png)
如何处理GET请求
Get请求用于从指定的URL获取信息,不会对端点进行任何更改。 在这里我们使用如下的URL作为演示:
https://jsonplaceholder.typicode.com/users
在Postman的工作区中:
1、选择HTTP请求方式为GET
2、在URL区域输入 链接
3、点击 “Send”按钮
4、你将看到下方返回200状态码
5、在正文中应该有10个用户结果,表明您的测试已经成功运行。
![](https://i-blog.csdnimg.cn/blog_migrate/13b645d80f369cfefeead43716b563bc.png)
**注意:**在某些情况下,Get请求失败可能由于URL无效或需要身份验证。
如何处理POST请求
Post请求与Get请求不同,因为存在用户向端点添加数据的数据操作。使用之前GET 请求中相同数据,现在添加我们自己的用户。 Step 1)创建一个新请求
![](https://i-blog.csdnimg.cn/blog_migrate/922872bf204c90cf0b4012361aaed7b9.png)
Step 2 )在新请求中 :
1、选择HTTP请求方式为GET
2、在URL区域输入 链接:https://jsonplaceholder.typicode.com/users
3、切换到Body选项
![](https://i-blog.csdnimg.cn/blog_migrate/ac017974d48edc9ec19417536459c63c.png)
Step 3) Body选项 1、选中raw选项 2、选择JSON
![](https://i-blog.csdnimg.cn/blog_migrate/97885e8cf57dfef78829e251e3cf3550.png)
Step 4) 复制前面GET请求返回的json内容的第一节 更改id为11,更改name以及uesrname和email
[
{
"id": 11,
"name": "Krishna Rungta",
"username": "Bret",
"email": "Sincere@april.biz",
"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"
}
}
]
![](https://i-blog.csdnimg.cn/blog_migrate/cc68dfd5df90576efd6b62ef5dc03515.png)
注意: 检查Body里用到的JSON格式很重要,以确保数据正确。 检测的工具比如:jsonformatter.curiousconcept.com/
Step 5 )发送请求 1、完成上述的信息输入,点击Send按钮 2、Status:应该是201,显示为创建成功 3、在Body里返回数据
![](https://i-blog.csdnimg.cn/blog_migrate/404f0f30c77276042ef7b9843e5c8bc0.png)
如何将请求参数化
数据参数化是Postman最有用的特征之一。你可以将使用到的变量进行参数化,而不是使用不同的数据创建相同的请求,这样会事半功倍,简洁明了。 这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,可用于自动化迭代测试。
参数通过使用双花括号创建:{{sample}}。
接下来创建一个参数化get请求:
Step 1) 创建一个参数化get请求:
1、将HTTP请求设置为GET
2、输入URL: jsonplaceholder.typicode.com/users;将链接的域…{{url}}。请求url现在应该是{{url}}/users。
3、点击Send按钮。 应该没有响应,因为我们没有设置参数的源,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/6b1410b191f6534dc0ad3100146261fa.png)
Step 2) 使用环境设置所需的参数:
1、点击眼睛图标
2、单击Edit将该变量设置为可在所有集合中使用的全局环境。
![](https://i-blog.csdnimg.cn/blog_migrate/ea82b558d56cafb9cc0af84f3556ad6e.png)
Step 3) 变量--variable 1、将名称设置为url,该url为https://jsonplaceholder.typicode.com 2、点击保存按钮
![](https://i-blog.csdnimg.cn/blog_migrate/1df145c553cbf2278af2e08cfa9b263f.png)
Step 4 ) 回到你的Get请求页面,然后单击发送Send按钮,Get请求应该就会返回结果了,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/e00b2b7c888083404cc4da5db3565582.png)
注意:请确保所有的参数都有准确的源数据,不管是环境变量还是数据文件,以避免出错。
如何创建Postman Tests
Postman Tests在请求中添加JavaScript代码来协助验证结果,如:成功或失败状态、预期结果的比较等等。 通常从pm.test开始。它可以与断言相比较,验证其他工具中可用的命令。 接下来创建一个包含Tests的请求:
Step 1) 创建一个Get请求 :
1、切换到Tests选项,右边是代码片段选项。
2、从右边的代码片段选项里面选中 “Status code: Code is 200”
3、JS代码就自动出现在窗口中
![](https://i-blog.csdnimg.cn/blog_migrate/f92f72cf0c4b4fcef5b0d94b00a26944.png)
Step 2) 点击发送请求按钮。测试结果就显示出来了,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/096b2673e912f81d5b4f499b6c49b651.png)
Step 3) 回到Tests选项卡,让我们添加另一个测试。这次我们将比较预期结果和实际结果。 在右边的SNIPPETS区域选择"Response body:JSON value check"选项,我们将检查Leanne Graham是否拥有userid 1。
![](https://i-blog.csdnimg.cn/blog_migrate/3dc0e9f2c41223a44ad31fedf74e41a2.png)
Step 4) 1、将代码中的“Your Test Name”替换为“Check if user with id1 is Leanne Graham”,以便测试名称确切描述我们想测试的内容。 2、使用jsonData[0].name代替jsonData.value; 获取路径,在获取结果之前检查Body。因为Leanne Graham是userid 1,所以jsonData在第一个结果中,这个结果应该从0开始。如果你想获得第二个结果,那么对后续结果使用jsonData[1] 即可。 3、在eql中,输入“Leanne Graham”
pm.test("Check if user with id1 is Leanne Graham", function () {
var jsonData = pm.response.json();
pm.expect(jsonData[0].name).to.eql("Leanne Graham");
});
![](https://i-blog.csdnimg.cn/blog_migrate/bdc2b96ecd30066be1715ee6b210b995.png)
Step 5) 点击发送请求,可以看到你的请求之后测试结果中有两项显示测试通过。
![](https://i-blog.csdnimg.cn/blog_migrate/48378caf1b365a673e78e4ea6c571a8b.png)
注意: 有不同种类的测试可以在Postman中创建。尝试探索这个工具,看看哪些测试适合你实际测试。
如何创建测试集合
集合在组织测试套件中扮演着重要的角色。它可以被导入和导出,使得在团队之间共享集合变得很容易。在本教程中,我们将学习如何创建和执行集合。
Step 1) 单击页面的New按钮,选择Collection(集合).如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/a0c6252f3d0cd528907374cd0d2987d4.png)
Step 2 ) 选择Postman test collection测试集合,点击右键选择添加请求,添加后应该包含了一个请求,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/e034aa45094a64113ddd9de032bedfa5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2d450046255fc8090d25f3381e53f5e.png)
Step 3) 重复上述的步骤,继续创建请求,这样,测试集合就应该有多个请求了,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/b32c9c8e96d2318a378439ba5445d220.png)
如何使用Collection Runner 运行集合
有两种方式来运行一个集合,即Collection Runner和Newman。
Collection Runner:
Step 1) 单击页面右边的Runner按钮,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/803b1235b7268b95228f35d9c795b103.png)
Step 2)Collection Runner页面应该出现如下所示。以下是对各个字段的描述
![](https://i-blog.csdnimg.cn/blog_migrate/5d07d3d848442cda7788090c2be1d606.png)
如何使用Newman运行集合
运行集合的另一种方式是通过Newman。Newman和Collection Runner之间的主要区别如下:
1、Newman是Postman的替代品,所以需要单独安装Newman;
2、Newman使用命令行,而Collection Runner使用UI界面;
3、Newman可以用于持续集成。
安装Newman并运行Collection,步骤如下:
Step 1) 下载并安装NodeJs(注意配置环境变量): https://nodejs.org/zh-cn/download/
Step 2) 打开命令行窗口并输入下面命令:
npm install -g newman
安装后如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/23f618e57f730e6339d606c6f5192f1c.png)
Step 3 ) Newman安装好之后,回到Postman的workspace。在Collections框中,单击三个点 ... 会出现新的选择选项,可看到Export选项,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/bd0cffe23109657abbaf972faea2c39e.png)
Step 4 )
选择导出集合,默认使用推荐的集合版本,比如此处是v2.1,然后单击导出:
![](https://i-blog.csdnimg.cn/blog_migrate/301ba98eb574c5f082ac3cff3531d638.png)
Step 5 ) 选择你想要保存的地址之后点击保存,这里建议专门新建一个文件夹来存放你的Postman tests。(注意:json文件名不能存在空格)
Step 6 ) 另外还需要导出我们的环境(enviroment)。最好将环境放在与Step5 导出的集合相同的文件夹中。(注意:json文件名不能存在空格)
![](https://i-blog.csdnimg.cn/blog_migrate/8e3dc1cbc684e624efd1b65e6081c57a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7df910dada77f787504b98d78ef9e7af.png)
Step 7 ) 导出Environment 到集合文件夹后,现在回到命令行,将目录更改为保存集合和环境的位置。使用下面的命令运行你的测试集合:
newman run Space_Post_Request_Collection.postman_collection.json -e My_Workspace.postman_globals.json
![](https://i-blog.csdnimg.cn/blog_migrate/8f2369b82991762c14467c18674a93f4.png)
关于Newman的一些基础指导如下:
1、只运行集合(如果没有环境或测试数据文件依赖关系,则可以使用此选项。)
newman run <collection name>
2、运行集合和环境(参数-e 是environment)
newman run <collection name> -e <environment name>
3、使用所需的编号运行集合的迭代。
newman run <collection name> -n <no.of iterations>
4、运行数据文件
newman run <collection name> --data <file name> -n <no.of iterations> -e <environment name>
5、设置延迟时间。(这一点很重要,因为如果由于请求在后台服务器上,完成前一个请求时没有延迟时间直接启动下一个请求,测试可能会失败。)
newman run <collection name> -d <delay time>