在多个服务器上重播HTTP请求并比较结果

时间:2014-03-04 07:07:52

标签: java http testing proxy functional-testing

我有两个不同的应用程序实现,它们应该为相同的请求返回相同的结果。第二个实现是重写应用程序,因此我们可以将第一个实现视为参考。

我想通过将从它返回的结果与第一个返回的结果进行比较来测试第二个实现的想法。

理想情况下,我希望在大量HTTP请求中执行此操作,从操作部署(使用某些代理记录或访问日志)记录。

我正在寻找一套工具,可以在没有太多编码的情况下实现这种情况(替代方案是我可以编写一个工具来为我做这个):

  1. 记录生产请求(访问日志,Charles代理等)
  2. 重播两台服务器上的请求
  3. 检测返回响应的任何差异
  4. 我已经看到了类似的实际负载测试方法(使用JMeter重放访问日志,或Charles Proxy所做的)但我需要的是比较结果以使功能测试

    目标系统是Java实现系列(Servlet容器,JSP,log4j等),如果这可能与答案有关,但我认为这是纯HTTP,网络和功能测试问题,解决方案可能与服务器类型和实现无关。

1 个答案:

答案 0 :(得分:1)

Jmeter将是一个很好的起点。你可以拥有它replay your access log,它可以选择添加断言。 编辑: 再看一下之后。您可以添加两个读取相同日志的访问日志采样器并将其激活到两个不同的服务器。向每个提取后处理器节点添加一个后处理器节点,该节点提取正文并将它们分配给变量。然后你可以使用断言来比较两者。 Read about using those elements