ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

笔记 - 使用 Postman 进行 API 测试

2019-09-06 13:02:24  阅读:304  来源: 互联网

标签:20 Postman 笔记 environment records API 测试 pm


摁...在测试时很常遇到 API 的测试呢

笔记一下,给未来需要的自己还有其他需要的人


「postman」的圖片搜尋結果

环境准备

你只需要到 Postman 的官网就可以找到下载点啰

不建议使用 chrome 的扩充

Postman 的界面目前长这个样子

今天主要的主题在写测试,所以就不加以着墨功能的部分做介绍(因为感觉蛮简单的XD)

使用 Postman 撰写测试

在 postman 的页面中,你可以看到Tests 点击进去就会到这个画面,右手边他就有许多客制化好的方法,只要点下去就可以运行
想要知道更多的 Test Scripts 就可以点击过去官网看

首先我在 MockAPI这个网站上 做了一些 Mock 的数据
其 Url 为 http://5b74423ea5837400141908c3.mockapi.io/Demo

如果MockAPI的这个网站挂了,那我就...也没办法XD,还是供各位方便使用,如果有兴趣的人可以到 MockAPI的网站自己建立一个来玩玩~

使用get request 打过去回来数据 如下图

这时候使用右手边的 Test Scripts 来建立测试,测试code如下

postman 的测试 code 都是由 javascript 所撰写
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

pm.test("first data id is 1", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData[0].id).to.eql("1");
});

pm.test("it has 15 records", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.length).to.eql(15);
});

以上测试 Code 主要判断

  • response 的 status 是否为 200
  • 第一笔数据的 id 是否为 1
  • 总笔数是否为15笔数据

使用 Enviroment 来变更 domain 或 测试数据

首先拿url来当范例,如果需要将 domain 抽换,则将需要变更的 domain 变成 {{url}}

{{变量名称}} 这里的变量名称则是Enviroment 或是 global用的变量名称 postman 会自动帮你带入

在右上角点击齿轮,可以看到你已经设定好的 environment 

按下ADD之后就可以命名你的 Environment 名称,还有变化名称及初始值

Demo 15 records 的 environment 长这个样子 [5b74423ea5837400141908c3]

Demo 20 records 的 environment 长这个样子 [5b521e36d9b92700141c98ec]

这时候就可以尝试点选右上角的 No Environment 来变更你的 Environment 来做测试

当你使用 Demo 20 records 的环境时,会发现原本写的测试 fail了,原因是因为你的 Demo 20 records 的环境打过去回来的 response 数据笔数为 20 笔
所以这时候需要将测试数据抽换成 environment 的变量,就会这么做

先设定 environment 的变量

Demo 20 records 的 expectedRecords 设定为 20
Demo 15 records 的 expectedRecords 设定为 15

修改测试 Code ,这时候判断笔数的测试 Code 就会长这个样子

expectedRecords = parseInt(pm.environment.get("expectedRecords"));
pm.test("it has"+ expectedRecords +" records", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.length).to.eql(expectedRecords);
});

先取得 environment 然后转型成 int (不转型的话会错误,原因是因为 environment 默认的变量型态为 string)

现在两个测试都可以因为 environment 改变而变动测试期望数据而通过了

Run Postman

在 postman 有个功能 可以帮你把一整包的 collection 来执行,执行后也能够将执行结果导出

现在把刚才写好的一支API测试存进一个 Collection然后到 Collection 的地方找到创建好的 Collection 来让 Postman run 写好的 测试

点击Run之后会出现下面这个画面

可以看到画面左边有

  • Environment 可以让你选择
  • Iterations 则是你需要 run几次这个collection
  • Delay则是你run完这个 API 之后你需要等待几秒再开始打下一个 API
  • Log Responses 则是可以让你选择纪录的 Response 型态为 fail 的时候要纪录或者是都要记录之类的 [旁边的提示有说 如果collection是比较大的 则有可能会影响到性能测试的结果]
  • Data 选择你要使用的文件
  • Keep variable values 如果勾起来则会把其中更动过的 变量保存起来

接下来就来run个 20 次 看会发生什么事吧!

可以看到每个 request的时间 跟测试结果(几个测试通过,几个失败),还有status

返回到刚才那页也可以看到刚才执行的结果

以上是今天的笔记,感谢各位收看,如有错误,请各位大大告诉我~

摁...明天下班有时间就写个 newman的东西好了,他可以帮助我们产生一些报表~

原文:大专栏  笔记 - 使用 Postman 进行 API 测试






标签:20,Postman,笔记,environment,records,API,测试,pm
来源: https://www.cnblogs.com/petewell/p/11474206.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有