在Java中使用Jmeter测试Web服务性能
我需要在在Java中使用Jmeter测试Web服务性能,java,web-services,jmeter,performance-testing,Java,Web Services,Jmeter,Performance Testing,我需要在Java中使用Jmeter测试web服务方法的性能,我发现JmeterAPI提供StandardJMeterEngine类,通过Jmeter运行测试方法,并使用类型为“String”的参数: 我的问题是,我正在使用EJB的web服务,该web服务使用自定义参数(bean对象),下面是我如何通过Soap运行它: String ENDPOINT_ADDRESS = "http://server:8080/server-ejb/MyServiceClass?wsdl"; QName SERVI
Java
中使用Jmeter
测试web服务方法的性能,我发现Jmeter
API提供StandardJMeterEngine
类,通过Jmeter
运行测试方法,并使用类型为“String
”的参数:
我的问题是,我正在使用EJB的web服务,该web服务使用自定义参数(bean对象),下面是我如何通过Soap运行它:
String ENDPOINT_ADDRESS = "http://server:8080/server-ejb/MyServiceClass?wsdl";
QName SERVICE_DATA_FINDER = new QName(
"http://test.service.com/", "MyServiceClass");
javax.xml.ws.Service service;
service = javax.xml.ws.Service.create(
new URL(ENDPOINT_ADDRESS), SERVICE_DATA_FINDER);
IMyServiceClass finder = service.getPort(IMyServiceClass.class);
MyBean bean = new MyBean();
// bean.set...
// bean.set...
finder.myMethod("foo", bean);
目标是创建一个Maven项目,为Web服务提供自动性能测试并检索测试结果(这就是为什么我需要使用Java在Jmeter中实现WS-test)
如何使用StandardJMeterEngine或其他API测试我的web服务
提前谢谢 从Java代码测试您的服务有什么具体原因吗?JMeter为基于XML的web服务测试提供了采样器,这是更真实的用例 有关更多详细信息,请参阅指南
但是,如果必须从Java代码测试web服务,您可以只添加jar,其中包含
IMyServiceClass
和JMeter类路径的依赖项 你签出用户手册了吗?哪个用户手册?你是说JMeterEngine实现吗?我想创建一个Maven项目,为Web服务提供自动性能测试+检索测试结果,这就是为什么我需要使用Java实现Jmeter测试,谢谢你的帮助:)你知道Jmeter Maven插件吗?非常感谢Dmitri,从java项目运行web服务测试是个好主意,您需要为测试项目添加依赖项(其中包含web服务测试的实现),我是否可以在测试项目上应用JMeterMaven插件并从同一项目中获取测试的源类??您可以通过user.classpath
property配置JMeter类路径当我使用JMeter maven插件时,进程在第行被阻塞:IMyServiceClass finder=service.getPort(IMyServiceClass.class);当我取消执行时(键入Ctrl+C),程序继续测试并生成输出文件(测试报告)
String ENDPOINT_ADDRESS = "http://server:8080/server-ejb/MyServiceClass?wsdl";
QName SERVICE_DATA_FINDER = new QName(
"http://test.service.com/", "MyServiceClass");
javax.xml.ws.Service service;
service = javax.xml.ws.Service.create(
new URL(ENDPOINT_ADDRESS), SERVICE_DATA_FINDER);
IMyServiceClass finder = service.getPort(IMyServiceClass.class);
MyBean bean = new MyBean();
// bean.set...
// bean.set...
finder.myMethod("foo", bean);