我需要使用Selenium检查HTTP响应头的最佳方法.我环顾了Selenium文档并没有看到任何简单的方法.非常感谢帮助.
我在StackOverflow上几次回答了这个问题.搜索我以前的答案来挖掘它.您必须编写一些扩展ProxyHandler和SeleniumServer的自定义Java代码的关键.您还需要使用AFTER 1.0 beta 2版本.
至于那些问你为什么要这样做的人:有很多原因.就我而言,我们正在测试一个AJAX繁重的应用程序,当出现问题时,我们调试的第一件事就是网络线.这有助于我们查看AJAX调用是否发生,如果是,那么响应是什么.我们实际上是自动收集这些信息,并在每次Selenium测试中捕获它(以及屏幕截图).
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();