今天我们聊聊JMeter测试SOAP接口
1.安装soapui工具
-
链接: https://pan.baidu.com/s/1sl4bB1z 密码: 2wha
2.需要找到测试的soap接口,本文中我用到是公用的soap接口作为例子,http://blog.csdn.net/jingqia/article/details/17398673此url为通用的soap测试接口
3.Saopui导入wsdl文件或者url地址,操作如下:
File——>new soapUI Project——>输入Project Name——>Initial WSDL/WADL:输入url>OK
-
因为soap用到的是WSDL,所以我们要复制这个接口,放到soap的url中
4.有些用户,点击ok后出现报错的情况
-
Error loading [http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl]: org.apache.xmlbeans.XmlException: java.io.CharConversionException: Characters larger than 4 bytes are not supported: byte 0xb1 implies a length of more than 4 bytes
-
解决办法:
-
-
关闭程序并找到SoapUI的安装位置中的SoapUI-4.6.4.vmoptions这个文件,在末尾加入 -Dfile.encoding=UTF8 可解决
-
5.soapui通过后,会出现下面的接口请求
-
根据自己的需求选择接口进行测试
6.我选择的是第一个接口,默认的请求如下:
-
?这个是可以修改的参数,你想看那个城市的天气,就填写那个城市
-
我填写的是“天津”,点击左上角的三角形标号后,右边会出现接口的结果。
-
我发现输入“天津”后,查询后的结果不单单是“天津”这一个城市
-
修改一下请求的参数后:
-
发现填写的“天津(54517)”没有识别,图上明显标出,参数不正确
-
我也不是很清楚为什么这样不行(如果哪位小伙伴知道原因,麻烦告知一下,谢谢)
7.换一个单独的接口进行测试http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl
8.打开jmeter,添加一个soap请求
9.soap请求接口参数配置
需要对应如下:
-
JMeter中SOAP请求的URL需要输入下面中的url
-
在soapui的请求中,点击Raw,找到SOAPAction的url(标示2),拷贝到jmeter的send SOAPAction中(标志2)
-
在soapui的请求中,点击xml(标志3)全部复制到jmeter的Soap/XML-RPC Data中(标志3)
10.在jmeter中执行soap接口
至此soap接口的单个参数执行结束