您的位置:首页 > 其它

Postman对Rest接口进行自动化测试

2017-11-15 11:45 337 查看
        工作中我们会对项目进行不断完善,我们改了一些代码,而这些代码可能涉及到多个接口甚至整个项目,因此我们改完后需要检测项目所有接口是否正常,如果我们每次都使用Swagger去测试的话,需要频繁的去填充请求头以及各项参数,耗时耗力。这时如果我们用自动化测试工具就大不一样了,我们只需输入一次,就可以多次执行,而且可以一下子执行所有接口,测试效率何止几十倍的提升!

        目前流行的自动化测试工具有SoapUI、Jmeter、Postman三种,前两种我觉得有点复杂,今天就说下Postman是怎样进行自动化测试的。

        首先,我们需要给谷歌浏览器安装Postman插件,大家可以参考http://blog.csdn.net/u012453843/article/details/78527612这篇博客进行安装。

        安装完Postman插件之后,我们可以看到如下图所示界面,Postman是有集合(Collections)的概念的,既然我们要进行自动化测试,就要新建一个集合并在该集合内添加所有要测试的接口,这样后面只需要选择要运行的集合然后点击运行就Ok了。



         下面我们便来新建一个集合,点击下图的那个带有"+"号的图标,就会弹出一个对话框,让我们输入集合的名称以及描述,描述的输入框好像有点问题(自己想输入什么但是并不是我们想看到的内容,不过也没关系,可以在别的地方先把描述写好,然后粘到这个描述框中就可以了),然后我们点击"Create"进行创建。



        新建完的集合是空的,如下图所示。



           为了进一步区分是GET请求和POST请求,我们在集合Test下再新建两个文件夹,分别起名为"GET"和"POST",如下图进行操作。



       给文件夹命名以及添加描述,如下图所示。



        添加完两个文件夹后,如下图所示。



          下面我们来新建一个GET请求接口,首先我们通过Swagger接口跑一遍该接口,如下图所示,可以看到有请求的完整路径。



           我们把上图完整的请求路径粘到下图中的地址栏中,然后点击"Send"按钮进行测试。



        那么怎样将我们新建的GET接口与集合下的文件夹联系上呢?这就涉及到了保存,点击"Save"按钮后面的倒三角图标,然后点击"Save As...."。



        按下图所示操作将这个GET请求的接口保存到GET文件夹下。



       保存后,可以看到如下图所示。



         既然要进行自动化测试,就要有接口成功的标准,我们看到返回的信息中meta下面的code值是0的话就代表成功,因此我们以此为成功的标准,我们需要再"Tests"这一栏的输入框中输入判断的脚本。如果我们不在Tests这一栏填充判断标准,等到自动化跑所有接口的时候,会发现测试结果是"0成功,0失败",这显然不合理,必须要在Tests这一栏加上判断标准,测试结果才能正常显示几个成功,几个失败。另外,Tests这一栏中的脚本内容刚开始我也不知道怎么写,后来还是参考了"Postman Echo"这个集合下的例子才知道怎么写的。大家也可以去参考已有的例子去进行更复杂的判断。



        这样,我们的第一个inner类型的GET接口就配置完了,下面我们再来个user类型的GET接口,user类型的接口需要额外的三个头参数,因此与inner接口稍有区别,如下图所示。



        下面我们就来创建这么一个user类型的GET接口,在地址栏直接把上图中"Request URL"中的值粘贴进去,然后点击"Headers",Headers默认的输入方式是一个一个key、value的形式,比较麻烦,我们可以点击后面的"Bulk Edit"编辑模式(下图中按钮已经显示成"Key-Value Edit"这是由于我点击过了),更换成文本编辑模式,我们把上图中"Request Headers"中的四个参数粘贴过来,不过需要注意的是,需要去掉参数的双引号并且去掉每行结尾的","如下图所示。



         编辑完后,我们点击"Key-Value Edit",让试图重新回到key-value的形式,如下图所示。然后我们可以点击"Send"按钮进行测试,发现可以成功调用接口了。



         与第一个接口一样,我们也需要设置下测试标准,我们把第一个接口中的测试标准脚本拷过来就可以了。如下图,拷完之后,我们像第一个接口那样把这个接口保存到TEST集合的GET目录下。



        最后,我们再来添加一个Post方式的请求,Swagger调用结果如下图所示。



         我们新建一个请求,地址栏输入上图的"Request URL"的地址,在Headers一栏使用key-value的形式(因为只有一个,所以用key-value形式就行)添加Accept方式为application/json。如下图。



          POST请求是有Body参数的,我们



          添加json格式的参数如下图所示。



         这时我们点击"Send"可以看到接口调用成功,跟上面两个接口一样,我们还需要为该接口设置测试标准,如下图所示。



        之后,我们将这个Post接口保存到Test集合的POST目录下。如下图所示。

 

      

         下面我们来演示怎样批量执行Test这个集合的所有接口,点击Test集合右侧上方的">"按钮,会弹出一个框,然后我们点击"Run"按钮。



           可以看到如下图所示界面,我们可以直接点击"Start Test"按钮,这样测试的是Test集合下的所有接口,当然,你也可以只选择"GET"或"POST"文件件进行测试。



      跑完后,我们可以清楚的看到哪些接口成功了,哪些失败了,如下图所示。



       我们还可以将测试结果导出,如下图所示。



       不仅测试结果可以导出,我们的测试用例也可以导出,如下图所示。导出的格式是json格式。我们可以根据这个模板在json中继续添加用例,添加完之后,再导回到Postman中,导入之前先把同名的这个集合删掉,然后点击顶部的"Import"按钮进行导入即可。



       好了,至此Postman的一些最常用的操作我们便学习完了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: