使用Selenium检查HTTP响应头的最佳方法

glo*_*lus 14 selenium http httpresponse http-headers

我需要使用Selenium检查HTTP响应头的最佳方法.我环顾了Selenium文档并没有看到任何简单的方法.非常感谢帮助.

Pat*_*ody 7

我在StackOverflow上几次回答了这个问题.搜索我以前的答案来挖掘它.您必须编写一些扩展ProxyHandler和SeleniumServer的自定义Java代码的关键.您还需要使用AFTER 1.0 beta 2版本.

至于那些问你为什么要这样做的人:有很多原因.就我而言,我们正在测试一个AJAX繁重的应用程序,当出现问题时,我们调试的第一件事就是网络线.这有助于我们查看AJAX调用是否发生,如果是,那么响应是什么.我们实际上是自动收集这些信息,并在每次Selenium测试中捕获它(以及屏幕截图).

  • 如果"搜索我以前的答案来挖掘它"不再是有效的建议,你能否编辑答案来反映这一点?目前这是相当误导的(我也在挖掘你以前的答案,显然是徒劳的)...... (27认同)
  • 我搜索了你的答案,似乎无法找到你所指的那个.这是什么答案?你有一些扩展这两个Java类的例子吗? (3认同)
  • @PatrickLightbody 请更新您的答案。 (2认同)

小智 7

DefaultSelenium中的captureNetworkTraffic()API捕获http请求/响应标头,您可以以html/xml/plain格式访问它们.

这是示例代码:

Selenium s = new DefaultSelenium(...);
s.start("captureNetworkTraffic=true");
s.open("http://www.google.com");
String xml = s.captureNetworkTraffic("xml"); // html, plain
s.stop();
Run Code Online (Sandbox Code Playgroud)