自动测试SOAP服务

时间:2013-02-10 16:20:15

标签: web-services soap

在回答之前:使用SoapUI。请阅读问题,因为我尝试了SoapUI

我有很多大wsdl个文件。每个方法的工作方式如下: 首先做一个synchronous Call

  • 请求:请foo并向URI: XY
  • 发送请求
  • 回复:好的,你的工作有UUID: abc

作业完成后,我的服务将通过同步发送URI: XY消息来回复request

  • 请求:好的,我使用UUID: abc完成了您的工作,结果为bar

我们需要使用此行为,因为我们有一个池,其中所有答案都将被存储并由UUID标识。

你知道测试这样一个SOAP服务的可能性吗?

我试过了:

  • SOAP UI
  • BPEL单位(我认为应该可以使用BPEL单位,但我无法使其正常工作)

请不要建议编写我自己的JAVA测试,因为我有100多种测试方法。

还需要运行测试并且需要在测试套件中自动分析结果,每次更改Web服务的代码时,我都不能手动执行100个方法。

3 个答案:

答案 0 :(得分:1)

您需要做的是创建一个模拟服务,该服务将接收第二个调用,该调用表示作业处理已完成。这可以在SOAP UI中完成,您可以阅读有关如何创建模拟Web服务here的信息。

答案 1 :(得分:1)

我是SoapUI的家伙之一,所以你可能会讨厌我的答案......

但解决方案是使用SoapUI;更具体地说,使用MockResponse TestSteps。在BPEL测试方面,SoapUI并不是很强大,但是使用MockResponse步骤可以修复它。

请看这里:http://www.soapui.org/SOAP-and-WSDL/testing-asynchronous-services.html。即使所有调用都是同步完成的,这仍然可以被认为是异步测试,因为我们不仅仅是普通的请求/响应。

我也知道甲骨文在这方面有很好的写作。

答案 2 :(得分:0)

您可以使用Eclipse测试Web服务。

只需将WSDL文件放在项目中即可 - >右键单击文件 - >网络服务 - >使用Web服务资源管理器进行测试。

您将拥有一个界面,显示您需要的所有WSDL操作和字段。