当前位置: 首页 > 面试题库 >

如何捕获Webdriver中页面发出的所有请求?浏览器还有其他选择吗?

华升
2023-03-14
问题内容

我正在使用Selenium2 / WebDriver来测试我的Web应用程序。所有测试都是用Java编写并与Maven一起运行。

在使用webdriver打开页面时,我想捕获页面发出的所有请求(图像,js和CSS文件等)。我使用此数据主要有两个原因

  • 检查通话中的404(和其他错误)
  • 检查分析代码是否有效(检查是否发送了正确的请求)

根据项目,我将Firebug与Netexport或Browsermob代理一起使用。在这两种情况下,我都可以轻松获得HAR(Html
ARchive)文件,对其进行解析并提取所需的数据。

问题是:我对这两种解决方案都不满意。当页面包含加载时间过长的视频时,获取HAR文件特别麻烦。我正在寻找更稳定的东西。

因此,问题是:

浏览器还有其他选择吗?我知道FiddlerCore,但这是一个.NET库,我的测试是用Java编写的。我也听说过有关Ajax
DynaTrace的信息,我知道可以通过某种方式将其与Selenium集成,但是我发现的文档适用于Selenium-RC,而不是WebDriver。

有什么方法可以将DynaTrace与WebDriver集成或将FiddlerCore与Java结合使用?

还有其他方法可以实现我提到的目标吗?我正在寻找可以从代码轻松控制的代理。将数据导出到HAR将是一个不错的选择。


问题答案:

我找到了一个有关该主题的google小组讨论。这些链接似乎是Browsermob的有前途的替代品:

  • Java中的Selenium CaptureNetworkTraffic示例
  • HOWTO:收集WebDriver HTTP请求和响应头
  • 使用Selenium 2自动捕获Web计时


 类似资料:
  • 我是冬眠新手,不会RTFM,所以我希望有人能帮我节省很多时间。 我的数据库中的对象之间有多对多的关系。假设员工和工作。 我想选择分配给给定员工的所有作业。我的对象乔布斯有一个正在处理它的所有员工的列表。所以,在java中,它应该是:作业job.employees.contains(员工)。除了我需要把它变成一个Hibernate查询什么的。 现在,我在选择所有东西后,正在Java中使用蛮力。 如何

  • 问题内容: 我想每次发送ajax请求时显示一个“正在加载”进度栏。是否有可能在任何时候使用jQuery发送ajax请求时收到通知? 问题答案: 您可以使用该方法来设置将应用于整个页面的全局AJAX属性:

  • 问题内容: 看完Joshua Bloch的演讲“ Performance Anxiety”后,我阅读了他在演讲“ Evaluation of Java Profillers的准确性”中建议的论文。引用结论: 我们的结果令人不安,因为它们表明配置文件不正确是普遍存在的-在我们的七个基准测试中的大多数以及两个生产JVM中(而且很重要),所有四个最新的配置文件都产生不正确的配置文件。不正确的配置文件很容

  • 问题内容: 我需要文本选择开始处的像素坐标(在页面上的任何地方,而不是文本区域中)。 我尝试使用光标坐标,但是效果不佳,因为光标坐标和选择的开头并不总是相同的(例如,当用户将鼠标拖到文本上时)。 希望有人能解决! 问题答案: 在IE> = 9和非IE浏览器(Firefox4+,自2009年初发布的WebKit浏览器,Opera11,也许更早)中,可以使用的方法。在IE4-10中,您可以使用的和属性

  • 我使用jQuery Datatables插件来显示数据。它提供分页、搜索、排序等功能,所以每次我只在当前页面上显示10条记录。如果我点击next或page number(由Bootstrap Datatable提供),将显示另外10条记录。正如问题中提到的,我想从所有页面中选择所有复选框。

  • 我想知道如何检索Firestore收藏中的所有其他文档。我有一个包含日期字段的文档集合。我想按日期对它们进行排序,然后从排序后的集合中的每个X大小的块中检索1个文档。我大约每10秒钟就添加一个新文档,并试图在前端显示历史数据,而不必下载这么多记录。