本篇简介

做过接口测试的都应该知道,接口测试工作不仅仅是在接口开发完成时测试通过即可,而是需要在项目的持续迭代的过程中也要持续测试的。在持续开发迭代,接口测试持续进行的过程中,接口的自动化测试环节就是比不可少了。
那么,由此即可以引出接口自动化测试的实现方式。实现方式会有多种多样,比如说已经比较成熟的第三方 “商业版” 测试工具 SoupUI、postman# 第一次接触是通过 chrome 插件,现在已经独立为单独的 app 了 #、chrome 插件 DHC,但是今天我要重点说的是 postman,哦,不,是 postman 的插件–newman。

主角 -- newman

官方简介:Command-line companion utility for Postman
翻译成人话就是一款可以在命令行执行 postman 进行接口测试的插件

一本正经的话说八道

再往下看的前提是你已经使用过 postman,并且知道如何编写 api 的 assert 是最好的,且会导出 collection

newman run ~/Documents/CardCode.json

效果如下:

~ newman run Documents/codecard.postman_collection                                                                                             

newman



codecard



→ 登录接口

  POST http://{{host}}/cardcode/login [200 OK, 310B, 32ms]

  ✓  response code is 200

  ✓  response body contains code is 4



→ 批次解禁

  POST http://{{host}}/cardcode/ope/batch/release [200 OK, 186B, 6ms]



→ php创建cdkey接口-兼容

  POST http://{{host}}/create/exec [200 OK, 473B, 17ms]



→ php作废cdkey接口-兼容

  POST http://{{host}}/nullify/exec [200 OK, 414B, 11ms]



→ php兑换cdkey接口-兼容

  POST http://{{host}}/cdkey/exchange [200 OK, 425B, 9ms]



┌─────────────────────────┬──────────┬──────────┐

│                         │ executed │   failed │

├─────────────────────────┼──────────┼──────────┤

│              iterations │        1 │        0 │

├─────────────────────────┼──────────┼──────────┤

│                requests │        5 │        0 │

├─────────────────────────┼──────────┼──────────┤

│            test-scripts │        1 │        0 │

├─────────────────────────┼──────────┼──────────┤

│      prerequest-scripts │        0 │        0 │

├─────────────────────────┼──────────┼──────────┤

│              assertions │        2 │        0 │

├─────────────────────────┴──────────┴──────────┤

│ total run duration: 440ms                     │

├───────────────────────────────────────────────┤

│ total data received: 410B (approx)            │

├───────────────────────────────────────────────┤

│ average response time: 15ms                   │

└───────────────────────────────────────────────┘

从上述结果中可以看出,运行测试之后,如果运行成功的话,newman 会返回详细的测试结果,包含:接口名称 (含别名)、请求方法 (POST/GET 等)、接口返回数据大小、完成请求所用时间,如果测试的接口有失败的情况下也会列出来。

最后

到目前为止,postman 进行 API 测试、导出 collection、使用 newman 在命令行下执行测试算是告一段落。
至于为啥要在命令行下执行测试,就是接下来的重头戏了,那就是接口测试持续集成。
持续集成我打算采用 jenkins(这是我唯一用过的一款 CI 工具我会告诉你吗),会在 Part II 中进行详细陈述,先这么着吧,改天再见~


↙↙↙阅读原文可查看相关链接,并与作者交流