postman+newman+jenkins组合
最后更新于:2022-04-01 09:43:37
> 这样的组合可以快速的让你开始接口测试,一起来看看这个小儿美的接口测试工具吧
## Postman-录制Case
### 安装Postman
[Postman](http://www.getpostman.com/)现在是一个单独的`App`,以前是`Chrome`的一个插件,现在单独出来了。
### 安装Postman Interceptor
记得一定要安装`Postman Interceptor`插件,这样在`chrome`浏览器上访问的信息都会在`postman`的app端同步显示。安装好后`Postman Interceptor`会在浏览器的右边显示,如下:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1a31798.jpg "")
### 连接Postman和Interceptor
在我们使用`postman`前,开启这个工具:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1a4403f.jpg "")
我是在`mac`下安装`postman`的,打开后如下:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1a67093.jpg "")
点击图中红框的按钮,打开`Interceptor`开关。
这样的工作准备完毕后,我们就可以通过`chrome`正常访问了。
### 录制请求
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1ac0b78.jpg "")
这样就录制了一条url了。
### 过滤特定url
如果你想录制特定的url的访问请求,可以在`postman interceptor`中加过滤条件:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1b06cae.jpg "")
这样我们就只录制跟`testerhome`相关的请求了。
### 编写验证
有了url只是开始,现在执行一下这个请求:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1b3f0cc.jpg "")
执行完后,我们有了返回值了,我们可以根据这个填写验证点
比如我们想验证返回的结果中是否包含了`TesterHome`,然后再来个反例,看是否包含`Doctorq`
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1d720b3.jpg "")
验证语句如下:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1d8a2f6.jpg "")
这个时候执行,我们就能看到执行结果如下:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1dbc440.jpg "")
测试结果显示也很清晰。
用例已经执行完了,我们要把用例导出,用`newman`来执行:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1dd9d29.jpg "")
`ok`,到`newman`了。
## Newman-执行Case
[newman](http://www.getpostman.com/docs/newman_intro)安装文档
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1f17437.jpg "")
安装成功后,执行上面命令,可以显示版本信息,现在可以执行接口测试了。
如果你出现如下错误,请看[newman github](https://github.com/postmanlabs/newman),是因为node4.0以上的版本支持最新的newman,所以我们下载最新的。
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb1f580da.jpg "")
~~~
npm install -g newman@beta
~~~
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb21043e7.jpg "")
这个时候执行就没问题,执行完毕后,会看出结果的详细信息。如果加上参数,可以生成如下报告:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-23_56cbdb213f2d6.jpg "")
**`newman`也可以直接执行`postman`云端保存的`collections`,**
具体怎么做请参考上面的文章。
因为`newman`的方式是通过命令行的方式,所以就可以通过`jenkins`去做定时自动化回归测试了。
## Jenkins-自动化回归
具体怎么在Jenkins里面配置我就不讲解了
## 缺点
-
无法直接导入HAR包,不过现在呼声很高,请查看[github上的support](https://github.com/postmanlabs/postman-app-support/issues/86)
-
App无法通过代理直接连接POSTMAN,这样录制移动端的http请求就很麻烦
这两种局限性,目前的想法的通过将har文件转为能导入postman的文件格式,有时间去尝试下。