Selenium 跨所有浏览器捕获web驱动程序网络流量

Selenium 跨所有浏览器捕获web驱动程序网络流量,selenium,proxy,selenium-webdriver,tcpmon,browsermob,Selenium,Proxy,Selenium Webdriver,Tcpmon,Browsermob,我想用Java捕获来自Web驱动程序的所有网络调用。我没有做任何UI测试,只是测试JS的执行和一些网络调用的请求和响应 我尝试使用浏览器暴徒,正如大多数论坛中所建议的那样,但我需要它在所有浏览器中工作。它在Firefox上运行得非常完美,但我在其他浏览器上遇到了一些问题。Safari驱动程序不支持事件代理功能 我不想使用Fiddler,因为它涉及调用和存储调用的一些手动步骤。然而,作为代码内代理的浏览器Mob可以以更平滑的方式集成 我还尝试使用Selenium独立服务器包中包含的类似RC的包。但

我想用Java捕获来自Web驱动程序的所有网络调用。我没有做任何UI测试,只是测试JS的执行和一些网络调用的请求和响应

我尝试使用浏览器暴徒,正如大多数论坛中所建议的那样,但我需要它在所有浏览器中工作。它在Firefox上运行得非常完美,但我在其他浏览器上遇到了一些问题。Safari驱动程序不支持事件代理功能

我不想使用Fiddler,因为它涉及调用和存储调用的一些手动步骤。然而,作为代码内代理的浏览器Mob可以以更平滑的方式集成

我还尝试使用Selenium独立服务器包中包含的类似RC的包。但是,我在跨域中有一些HTTPS调用和一些嵌套的iframe。我对一些跨域的POST-call特别感兴趣,但效果不是很好。此外,人们一直说不建议使用该软件包

所以,我有一个解决方案,我们可以使用一个独立的代理服务器运行在一台机器上。使用主机条目,我们将使Web驱动程序指向代理,而不是实际的服务器。代理将记录所有传入呼叫并将它们路由到实际的服务器主机。稍后,我可以向代理发出请求,代理将返回它截获的所有调用。我不确定它仍然被称为代理还是路由器


我遇到了TCPmon,但它不再得到支持。有人知道可以在Unix系统或任何替代解决方案上运行的类似工具吗?

我们修改了Fiddler规则脚本,以包含一个新的exec操作。如果您使用他们的原生脚本编辑器,它还提供自动完成功能,我们可以轻松地绕过它。语法类似于JavaScript。 Fiddler包附带一个ExecActions.exe,可用于使用命令提示符将控制台参数传递给正在运行的Fiddler实例。 我们编写的代码处理了Fiddler捕获的所有会话,并以自定义JSON格式将其写入文件,然后使用GSON对其进行反序列化。 如果你想知道更多细节,请告诉我