如何测试有时滞的网络服务?

时间:2013-04-12 21:47:16

标签: web-services testing soap curl

我应该测试一个将在服务器端创建帐户的Web服务。

但是,由于体系结构原因,SOAP调用暂时不会返回消息。因此,我必须发出另一个cURL命令来测试帐户是否已成功创建。

问题是:帐户创建时间大约需要50秒才能完成。如果我想自动化该过程,发出cURL命令的最佳做法是什么?我应该总是等待约50秒或更长时间吗?或者我应该连续发送cURL直到创建帐户/达到最长等待时间(比如说90秒)?

欢迎任何评论。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您不能(或不想)更改网络服务,我会选择两者的组合。

  

我应该总是等待约50秒或更长时间吗?   或者我应该连续发送cURL直到帐户被创建/达到最长等待时间(比如说90秒)?

我会等startingTime秒(比如50),然后每隔retryTime秒拨打一次电话(比如说10),最多{{1}调用(例如maxTries)。那就是:

4

另一方面,为什么你需要等待50秒?

创建操作是否太慢,或者您使用的是异步创建系统?

如果您使用异步创建系统并且可以更改Web服务,您可以:

  • 使用 Asynchronous Web Service Invocation capabilities of JAX-WS 2.0 ;
  • 或者......让00:00 - call the createAccount 00:50 - issue first cURL command to check if account was created if not created 01:00 - issue another cURL command to check if account was created if not created 01:10 - issue another cURL command to check if account was created if not created 01:20 - issue another cURL command to check if account was created if not created: consider the creation has failed 服务返回一个票号(整数),然后创建一个createAccount方法,以便检查您的创建调用是否已被处理。