有没有办法使用har代理捕获已取消的请求?

时间:2014-04-24 13:51:02

标签: java selenium proxy selenium-webdriver har

在我的项目中,我有一些JavaScript负责跟踪用户操作,以优化页面的布局。当用户点击某些内容时会执行这些调用,包括指向其他​​页面的链接。

我用Java编写的基于Selenium Webdriver的自动化测试涵盖了整个流程。我使用Browsermob代理捕获请求并验证是否将正确的数据传递给用户跟踪服务。

在某些情况下,代理不会记录命中服务的请求。发生这种情况的原因是浏览器在从跟踪服务获得响应之前导航到下一页。请求实际上命中了目标,我可以通过数据库的状态看到该目标。因为浏览器不等待响应,所以尽管default 5 second wait {{3}},但它们似乎没有被代理注意到,在这种情况下似乎被忽略了。这只会偶尔发生一次,导致我的测试报告中出现漏报。

我无法强制浏览器实际等待这些请求,因为我不希望跟踪阻碍用户旅程。我想做的是以某种方式配置代理以区分尚未发送的请求和中途取消的请求之间的区别。这样我就可以将这些信息附加到我的报告中。

使用Browsermob代理可以实现吗?也许其他一些工具可以做得更好。

1 个答案:

答案 0 :(得分:1)

尝试使用phantomjs webDriver实现,我们不需要启动jetty代理服务器,即使是那些没有响应的请求,我们也可以获取所有请求。