如何使用Postman自动测试接口

2021年4月19日 175点热度 0人点赞 0条评论

图片

出品|51Testing软件测试网


图片
概述


Postman是一款接口测试神器,本文为大家介绍一下如何使用post完成SOAP的接口测试。


被测对象是一个整数加法接口,部署在本地web服务器上,URL为:https://localhost:44347/WebService1.asmx

图片

测试数据如下,包含正整数、负数,还有一例小数作为非法测试用例。

图片

图片
搭建测试环境

2.1 安装测试软件

这里我们只需要安装Postman(7.36)和OpenSSL。

2.2 为Postman创建证书

因为Postman与站点之间为HTTPS通讯,Postman需要有自己的证书。这里我们用openssl来生成自签名证书。

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt

(左右滑动查看完整代码)

生成后的证书和私钥如下:

图片

2.3 将证书导入Postman

首先,打开Postman的setting界面。

其次,在general这一tab页关掉‘SSL certificate validation’。

图片

最后,在certificate这一页,指定需要测试服务器地址和端口号,然后依次添加cert和key可以:

图片

图片
准备测试数据

3.1 获取请求格式

SOAP的请求格式可以通过多种方式获取:直接访问webservice page或者通过fiddler,weirshark等工具抓包获取。

图片

3.2 准备测试数据

Postman支持CSV格式的数据,这里将之前提到的数据做成CSV格式。

图片

图片
手动单例测试

4.1 编辑请求

在Postman中创建一个request,它的header和body如下图,这里我们希望计算120+130是多少。

图片

图片

点击发送后,顺利拿到了结果,没错,是想要的250。

图片

4.2 增加测试验证点

首先我们需要将响应格式转换成JSON格式,然后从中找到加法运算的返回值:AddResult,测试脚本如下。

Var response = xml2Json(responseBody);Var addresult = response["soap:Envelope"]["soap:Body"]["AddResponse"]["AddResult"];console.log(addresult)

(左右滑动查看完整代码)

运行后,顺利地输出250。

4.3保存请求

新建一个Collection,并将这个request保存进去。

图片
自动化测试

Postman可以将CSV或者JSON格式的测试数据传递给collection。这里我们用CSV格式。

5.1 修改请求

因为测试参数输入来自CSV文件,因此,我们将request中输入参数a和b对应至变量input1和input2,变量名分别是CSV文件中参数一与参数二的列名。

图片

5.2修改验证

在test输入框中,分析响应并与期望值进行对比。因为从soap中解析得到的数值addresult为string类型,而从CSV解析得到的期望值data.output为number类型。

这里我们需要做一个类型转换。

pm.test("Test?Add?Function",?()?=>?{var?response?=?xml2Json(responseBody);var?addresult?=?response["soap:Envelope"]["soap:Body"]["AddResponse"]["AddResult"];console.log(addresult)pm.expect(addresult).to.eql(data.output.toString());});

(左右滑动查看完整代码)

图片
运行测试

在collection runner界面加载测试输入,文件的类型及测试用例数目会被显示出来。

图片

点击运行后就可以看到测试结果如下:

图片

可以看到三例pass一例fail。失败的这一例是因为输入参数为小数。

图片
小结

这里只是一个简单的介绍,如果需要将这个测试加入CI系统,实现完全的自动化测试,还需要借助于Newman。

Postman还有很多强大的功能需要大家在实际测试中不断探索。

......
本文为51Testing软件测试网
第六十一期电子杂志内容
更多杂志精彩内容请点击下方 阅读原文查看

图片

推荐阅读

点击阅读☞Postman不能共享问题?可能是你的请求不对

点击阅读☞想用Postman提升测试效率?看这里!

点击阅读☞你不知道的接口测试之初步认识Postman

点击阅读☞你不知道的接口测试之再谈Postman

点击阅读☞Postman接口测试时,必须熟练掌握的两种请求

图片
“阅读原文”一起来充电吧!

图片

82890如何使用Postman自动测试接口

这个人很懒,什么都没留下

文章评论