API测试之Postman使用完全指南(二)

发表于:2021-5-07 09:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:软测小生    来源:博客园

  如何将请求参数化
  数据参数化是Postman最有用的特征之一。你可以将使用到的变量进行参数化,而不是使用不同的数据创建相同的请求,这样会事半功倍,简洁明了。
  这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,可用于自动化迭代测试。
  参数通过使用双花括号创建:{{sample}}。
  比如下面的请求:
  接下来创建一个参数化get请求:
  Step 1) 创建一个参数化get请求
  1、将HTTP请求设置为GET
  2、输入URL: https://jsonplaceholder.typicode.com/users;将链接的域名部分替换为参数,例如{{url}}。请求url现在应该是{{url}}/users。
  3、点击Send按钮。
  应该没有响应,因为我们没有设置参数的源,如下图:
  Step 2) 使用环境设置所需的参数
  1、点击眼睛图标
  2、单击Edit将该变量设置为可在所有集合中使用的全局环境。
  Step 3) 变量--variable
  1、将名称设置为url,该url为https://jsonplaceholder.typicode.com
  2、点击保存按钮
  Step 4) 如果看到下面截图的样式,请单击Close
  Step 5 ) 回到你的Get请求页面,然后单击发送Send按钮,Get请求应该就会返回结果了,如下图:
  注意:请确保所有的参数都有准确的源数据,不管是环境变量还是数据文件,以避免出错。
  如何创建Postman Tests
  Postman Tests在请求中添加JavaScript代码来协助验证结果,如:成功或失败状态、预期结果的比较等等。
  通常从pm.test开始。它可以与断言相比较,验证其他工具中可用的命令。
  接下来创建一个包含Tests的请求:
  Step 1) 创建一个Get请求
  1、切换到Tests选项,右边是代码片段选项。
  2、从右边的代码片段选项里面选中 “Status code: Code is 200”
  3、JS代码就自动出现在窗口中
  Step 2) 点击发送请求按钮。测试结果就显示出来了,如下图:
  Step 3) 回到Tests选项卡,让我们添加另一个测试。这次我们将比较预期结果和实际结果。
  在右边的SNIPPETS区域选择"Response body:JSON value check"选项,我们将检查Leanne Graham是否拥有userid 1。
  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");
  });
  Step 5) 点击发送请求,可以看到你的请求之后测试结果中有两项显示测试通过。
  注意:
  有不同种类的测试可以在Postman中创建。尝试探索这个工具,看看哪些测试适合你实际测试。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号