2.4.3 请求参数化
数据参数化是Postman最有用的特征之一。你可以将使用到的变量进行参数化,而不是使用不同的数据创建相同的请求,这样会事半功倍,简洁明了。
这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,可用于自动化迭代测试。
参数通过使用双花括号创建:{{sample}}。
比如下面的请求:
创建一个参数化get请求:
步骤1: 创建一个参数化get请求
①将HTTP请求设置为GET
②输入URL:https://jsonplaceholder.typicode.com/users;将链接的域名部分替换为参数,例如{{url}}。请求url现在应该是{{url}}/users。
③点击Send按钮。
应该没有响应,因为我们没有设置参数的源,如下图:
步骤2:使用环境设置所需的参数
①使用环境设置所需的参数
②单击Edit将该变量设置为可在所有集合中使用的全局环境。
步骤3:变量–variable
①将名称设置为url,该url为https://jsonplaceholder.typicode.com
②点击保存按钮
步骤4:如果看到下面截图的样式,请单击Close
步骤5:回到你的Get请求页面,然后单击发送Send按钮,Get请求应该就会返回结果了,如下图:
2.5 创建Postman Tests
Postman Tests在请求中添加JavaScript代码来协助验证结果,如:成功或失败状态、预期结果的比较等等。
通常从pm.test开始。它可以与断言相比较,验证其他工具中可用的命令。
接下来创建一个包含Tests的请求:
步骤1: 创建一个Get请求
①切换到Tests选项,右边是代码片段选项。
②从右边的代码片段选项里面选中 “Status code: Code is 200”
③JS代码就自动出现在窗口中
步骤2:点击发送请求按钮。测试结果就显示出来了,如下图:
步骤3:回到Tests选项卡,让我们添加另一个测试。这次我们将比较预期结果和实际结果。
在右边的SNIPPETS区域选择"Response body:JSON value check"选项,我们将检查Leanne Graham是否拥有userid 1。
步骤4:
①将代码中的“Your Test Name”替换为“Check if user with id1 is Leanne Graham”,以便测试名称确切描述我们想测试的内容。
②使用jsonData[0].name代替jsonData.value; 获取路径,在获取结果之前检查Body。因为Leanne Graham是userid 1,所以jsonData在第一个结果中,这个结果应该从0开始。如果你想获得第二个结果,那么对后续结果使用jsonData[1] 即可。
③在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"); });
步骤5: 点击发送请求,可以看到你的请求之后测试结果中有两项显示测试通过。
2.6 创建测试集合
集合在组织测试套件中扮演着重要的角色。它可以被导入和导出,使得在团队之间共享集合变得很容易。在本教程中,我们将学习如何创建和执行集合。
步骤1: 单击页面左上角的New按钮,如下图:
步骤2:选择Collection(集合). 创建collection窗口弹出,如下图
步骤3: 输入所需的集合名称和描述,然后单击create。
步骤4:和前面的Get请求一样,点击保存。
步骤5:测试集合
①选择Postman 测试集合(Test Collection)。
②点击保存Postman Test Collection
步骤6: Postman test collection现在应该包含了一个请求
步骤7:重复上述的Step4-5,继续创建请求,这样,测试集合就应该有2个请求了,如下图。
2.7 运行Collection Runner 测试集合
步骤1: 单击页面顶部导入按钮旁边的Runner按钮,如下图。
步骤2:Collection Runner页面应该出现如下所示。以下是对各个字段的描述
步骤3: 做如下设置,运行你的测试集合
①选择Postman测试集合-集合迭代次数为3
②设置延迟为2500毫秒
③点击Start Run按钮
步骤4: 单击Run按钮后将显示Run结果页。根据延迟的不同,你应该在测试执行的同时看到显示的结果。
①一旦测试完成,你就可以看到测试状态是通过还是失败,以及每个迭代的结果。
②你将看到Get请求的Pass状态;
③由于我们没有任何Post测试,所以应该会出现请求没有任何测试的消息。
可以出在请求中进行测试是多么重要,这样你就可以验证HTTP请求状态是否成功,以及是否创建或检索了数据。
3、总结
看到这,今天的分享,就快要结束了。
我们来回顾一下,今天主要的内容:
Postman的安装
工作区功能介绍
列举接口请求类型的处理方式
请求参数化
测试集合的创建
测试集合的运行
一个整体的流程,大概就是这样。
完全掌握这些功能操作流程,也就能跟面试官扯上半个小时了。
当然,我们的目的,是为了完全的掌握,而不是为了应付面试官!