软件测试中网络流量的模拟/模拟器

时间:2010-03-03 16:29:47

标签: java testing protocols mocking

要求:

我希望有一个软件能够:

  • 以“学习模式”运行我的应用程序
  • 记录任何网络流量
  • 创建请求 - 响应组合的数据库(例如http)

  • 以“离线模式”

  • 运行我的应用程序
  • 捕获任何网络流量(例如http),并从请求 - 响应数据库中返回响应

目的:

测试客户端 - 服务器软件(java),即使服务器尚未运行或尚未完全实现。

解决方案:

我还没有找到这个使用谷歌。也许我找不到合适的关键词。

我甚至会在java中自己编程。实现“任何”协议将很难,但http只是一个好的开始。我不得不入侵java.net类,但它可能是......

是否有任何软件/项目已经执行此操作?

替代方案不足:

  • Webservices有类似的软件soapUI

4 个答案:

答案 0 :(得分:1)

不确定这是否是您正在寻找的,但我使用的是WireShark。它是一个网络连接嗅探器,它可以拾取所有数据包并以原始格式显示它们。您可以按目的地,来源,协议和所有这些对它们进行排序。我不知道您是否可以自动化它,但它确实为您提供了良好的网络流量诊断视图。

答案 1 :(得分:0)

我实际上是在创建一个到NS-3(一个C ++网络模拟器)的Java网络模拟器接口,它可以处理实时事件(虽然我正在修复一些错误并使用TAP正确实现实时调度代码作为指导做什么)。它允许您使用类似于Java网络代码的接口将各个应用程序创建为类。虽然它基本上是一个离散的模拟器,但我在它上面有一个Berkley套接字兼容层,它可以保持调度事件直到获得结果(或者你可以以离散的方式编码)。如果您想要它或希望合作,请与我联系:)

答案 2 :(得分:0)

你看过The Grinder了吗?它是一个负载测试工具,允许您编写脚本,这些脚本在运行时使用的数据。它可能无法满足您的所有要求,但这是唯一可以想到的。

答案 3 :(得分:0)

Fiddler可以满足您的需求 它分析网络流量并有一个自动回复器,它在离开网络适配器之前发送对您请求的响应 问题是,它只能从响应中选择,具体取决于您要求发送的URL 它不能例如解析肥皂请求并采取相应的行为。