如何测试webservice接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何测试webservice接口相关的知识,希望对你有一定的参考价值。

参考技术A 1.了解url

http://localhost:8080/test/services/user?wsdl;
2.新建web
service
项目
Test,启动接口;
3.在项目Test上新建一个
web
service
client
,选择JAX_WS;
4.Test项目会自动生成关联代码,新建一个Java类,main方法
public static void main(String[] args)
System.out.println("123");
ServiceCommandService sc = new ServiceCommandService();
IServiceCommand is = sc.getServiceCommandPort();
String s = is.queryInstanceById();
System.out.println(s);
String s2 = is.queryInstanceList();
System.out.println(s2);

jmeter3.2版本如何进行webservice接口功能测试

jmeter3.2版本之后就没有SOAP/XML-RPC Request插件了,所以没办法直接进行webservice接口的测试。

原理上:

Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service

SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。

所以其实我们是可以通过一些方法来通过,jmeter中的http请求来测试webservice.

当然官网的手册上也说明了是可以的。只需要借助http信息头管理器两个参数Content-TypeSOAPAction

 

 

首先需要在SOAPUI中新建project填入webservice接口地址。并且在接口中填入参数,点击发送。

确保参数发送成功,具体如下图。

这一步是为了获取一些jmeter没有的信息

 

 

 

 

1、测试计划-->右击添加-->Threads-->新增线程组

 

 

2、线程组-->右击配置元件-->增加http信息头管理器

 

 

3、线程组-->点击添加-->Sampler-->HTTP请求

 

 

4、http信息头管理器需要填入Content-Type(必填)或者SOAPAction,而SOAPAction不是必须填的信息。

这两个数据要从soapUI中进行获取。当蓝色划线显示不为"http://"开头的信息时,这个soapAction的信息就不是必填的。

 

 

 

http信息头管理器中,我们需要填入Content-Type信息

 

 

5、在HTTP请求中XML中的数据信息,全部复制到jmeter的HTTP请求中的Body Data。

 

 

6、然后发送请求,成功(*^▽^*)

 

 本篇文章适合在什么场景下使用?

1、在基于接口是webservice的情况下,想在jmeter实现轻量级接口自动化。

2、在仅会jmeter不会LR的情况下,想要对webservice接口进行性能测试。

资料:来自jmeter官网

https://www.cnblogs.com/stone9159/p/8078842.html

https://www.cnblogs.com/leijiangtao/p/5137351.html

 

 

 

 

 

 

 

 

 

 

 

以上是关于如何测试webservice接口的主要内容,如果未能解决你的问题,请参考以下文章

使用PostMan测试WebService接口

如何在调用webserver的时候直接返回一个json的数据

java如何调用webservice接口

如何生成webservice客户端

如何在调用WebService方法时,传递对象数组参数

接口测试类型及接口测试工具