我想用 Java 捕获来自 Web Driver 的所有网络调用。我没有做任何 UI 测试,只是测试 JS 执行以及一些网络调用的请求和响应。
我尝试按照大多数论坛中的建议使用 Browser Mob,但我需要它在所有浏览器中都能正常工作。它与 Firefox 完美配合,但我遇到了其他一些问题。Safari 驱动程序不支持代理功能。
我不想使用 Fiddler,因为它涉及调用和存储调用的一些手动步骤。然而,作为代码内代理的 Browser Mob 可以以更流畅的方式集成。
我还尝试使用 Selenium 独立服务器包中包含的类 RC 包。但是,我在跨域中有一些 HTTPS 调用和一些嵌套的 iframe。我对一些跨域 POST 调用特别感兴趣,但效果并不好。此外,人们一直说不建议使用该软件包。
所以,我有一个解决方案,我们可以使用在机器上运行的独立代理服务器。使用主机条目,我们将指向 Web Driver 来访问代理而不是实际的服务器。代理将记录所有传入呼叫并将它们路由到实际的服务器主机。稍后,我可以向代理发出请求,该代理将返回它截获的所有调用。我不确定它是否仍然称为代理或路由器。
我遇到了 TCPmon,但它不再受支持。有谁知道一些可以在 Unix 系统或任何替代解决方案上运行的类似工具?