许多人认为Postman是高级REST客户端,Postman是处理通过HTTP发送的请求的工具。其实Postman也可以测试与协议无关的SOAP webservice api接口。
要使用Postman发出SOAP请求,请执行以下操作:
1、提供SOAP端点作为URL,可以使用SOAP的WSDL的路径作为URL。
2、将请求方法设置为POST。
3、Body中选择Raw,然后将Raw类型设置为“ application/ xml”。
4、在请求主体xml正文中,根据需要定义SOAP Envelope,Header和Body标签,SOAP方法、参数名及值的应在Body中指定。
下面我们就使用postman进行一个SOAP接口的测试:
一、我们使用eclipse工具,自己搭建一个webservice项目:
参见作者另外一篇文章:捉虫布道人:搭建Soap webservice api接口测试案例系统zhuanlan.zhihu.com
注意:本文内容与上述链接作了部分变更,主要如下:
1、工程名称已更新为:koudingSer
2、Java文件名(类名)更新为:myServer
我们提供了三个接口供使用:
package com.qf;
import java.util.ArrayList;
public myServer{
//创建第一个对外开放的接口方法 //获取姓名接口public String getName(String name){
if(name == null || name.equals("null") || name.equals("")){
name = "there is no this name!!";
return name;
}
System.out.println("姓名是:"+name);
return "welcome "+name+" , to QIANFENG testing.";
}
//获取姓名列表接口public String getNameList(){
ArrayList al = new ArrayList();
al.add("allen");
al.add("petter");
al.add("Lucy");
System.out.println(al.toString());
return al.toString();
}
//获取加法运算结果接口public int sum(int a, int b){
return a+b;
}
}
二、Postman中实现soap webservice接口测试
1、创建请求,方法为post,url为http://localhost:8080/koudingSer/services/myServer?WSDL
2、在请求的headers中定义头部信息,需要再headers中定义SOAPAction头部信息为wsdl的URL,不然会出现服务器500错误。
3、点击send按钮,发送请求,获得响应结果
4、修改参数和方法,以验证soap webservice的所有接口(方法)
获取名称接口测试用例之一:
获取姓名列表接口测试用例之一:
获取加法运算接口用例之一:
三、实现请求数据的参数化
以getName接口为例演示参数化。
1、脚本中将常量allen替换为{{phoneID}}
2、参数可以来自于环境变量:
3、环境可以在Runner运行器中添加外部文件
【原创系列文章 如需转载 请联系作者 】