问题标签 [har]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
873 浏览

selenium - 同时使用 browsermob

我正在使用 testng、selenium-grid 与 browsermob 代理并行运行 selenium 测试。通过 10 个测试批次(默认 testng 并行行为),我总共可以在并行模式下运行多达 100k 个测试。

一旦测试并行运行,我就不能使用一个代理,所以每个测试都会创建自己的代理绑定到新的空闲端口(例如,我使用范围 9200-9400),然后我当然会尝试重用每个给定的端口作为测试一结束。

问题是有时代理不会捕获任何流量并且 HAR 文件返回 0 个条目(我在 Java 包装器中使用函数 proxy.getHar() 用于 REST API)。我想这可能是由于并行模式的一些故障,当我重新测试失败但现在按顺序运行它们的相同测试时它工作正常。

有谁知道可能出了什么问题,也许可以推荐一些在并行运行大量测试 100k、1000k 时使用 browsermob 的参考资料?

谢谢。

0 投票
1 回答
1167 浏览

javascript - 有什么办法可以用js获取HAR信息吗?

我想知道是否有某种方法可以通过js获取浏览器收集的HAR信息。

这个想法是,在某些情况下,我可以将这些发送回服务器,以便我们可以更好地监控客户的浏览器加载时间。

0 投票
1 回答
808 浏览

file - YSLOW 命令行报告的 HAR 文件结构

我正在对通过提琴手生成的 .HAR 文件运行 YSlow,以获取有关页面速度和网站其他 yslow 规则的报告。但是通过 YSlow 命令行生成的报告与通过 chrome YSLOW add on 生成的报告是完全不同的(YSlow add on 实际上生成了一个有意义的报告并且命令行报告是空的)。YSlow 命令行似乎无法识别我的 .HAR 文件中的条目,因此没有“违规者”。找不到如何为 YSlow 命令行构建 .HAR 文件以识别条目的示例 - YSlow 命令行是否可能需要修改 .HAR 文件才能生成有意义的报告,如果是,那么是什么?必要的修改?

0 投票
1 回答
716 浏览

har - HTTP 存档 (HAR) 总响应大小为零

根据HAR 1.2 规范,响应大小计算为:

但是响应大小怎么可能为零(=1273+(-1273)),例如在以下 HAR 中:

在规范中,bodySize 没有负值,除了-1

bodySize [number] - 接收到的响应正文的大小(以字节为单位)。如果响应来自缓存 (304),则设置为零。如果信息不可用,则设置为 -1。

0 投票
1 回答
481 浏览

connection - phantomjs如何获得建立连接时间

我想像 phantomjs 提供的萤火虫一样建立连接时间!

通过phantomjs函数page.onResourceReceived,我只能得到开始时间和结束时间。我认为从请求到开始时间之间的时间是等待时间,这个时间对我来说并不详细。有没有办法获得建立连接时间?

0 投票
3 回答
7542 浏览

javascript - 自动化“另存为带有内容的 HAR”

我熟悉如何使用 Google Chrome Web Inspector 手动将网页保存为包含内容的 HAR 文件。我想自动化这个。

在搜索自动生成 HAR 文件的工具时,我找到了一些解决方案,但它们都没有保存资源的内容。

我尝试了以下方法,但没有任何运气:

获取您请求的页面内容(原始 HTML)是可行的,但获取所有其他加载的网络资源(CSS、javascript、图像等)的内容是我的问题。

0 投票
0 回答
793 浏览

hadoop - Hadoop、HAR 文件和通配符不起作用

我们有一个约 800 万个文件的数据集,每个文件大约 0.5 到 2 兆。在构建 har 文件后,我们无法对它们进行分析。

这些文件已经在预先存在的目录结构中:

将这些移动到 hdfs 并建立一个 har 档案是微不足道的;我使用以下命令制作存档

列出 har 的内容(bin/hadoop fs -lsr har:///user/hadoop/epc_test.har),一切看起来都符合我的预期。

当我们使用此命令运行 hadoop 作业时,尝试使用通配符归档:

它失败了,但有以下异常

使用非归档文件运行作业很好,即:

然而,这只适用于我们适度的测试文件集。任何大量文件都会很快使名称节点耗尽内存。

您可以将文件 glob 与 har 档案一起使用吗?是否有不同的方法来构建存档以仅包含我错过的文件?

0 投票
1 回答
1109 浏览

javascript - 使用 PhantomJS 分析传入的网络流量

我的目标是使用 PhantomJS 连接到网站并将传入的网络流量打印到 HAR 格式的输出文件中。

使用netsniff.js示例,我可以在首次加载站点时记录所有网络流量,但我不知道如何捕获进一步的传入流量。

例如,如果您转到堆栈交换的首页,堆栈站点会间歇性地更改并会收到一个新的 .png 文件(这可以通过查看 Chrome 开发人员工具的网络选项卡或其他浏览器的类似内容来查看) . 我想要一种无限期地捕获所有这些 HAR 的方法。这怎么可能?

0 投票
1 回答
261 浏览

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

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

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

在某些情况下,访问服务的请求不会被代理记录。发生这种情况的原因是浏览器在从跟踪服务获得响应之前导航到下一页。请求实际上到达了目的地,我可以通过数据库的状态看到。因为浏览器不等待响应,它们碰巧没有被代理注意到,尽管默认的 5 秒等待,在这种情况下似乎被忽略了。这只会偶尔发生一次,导致我的测试报告出现假阴性。

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

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

0 投票
1 回答
1400 浏览

java - 如何使用 .HAR 文件生成 HTML UI(Firebug 节目)

是否有任何开源实用程序可以输入任何 .HAR 文件并可以像萤火虫节目一样获得输出。我已经使用 Phantom.js 创建了 .HAR 文件,现在我想使用 .HTML 文件向最终用户表示 .HAR 文件的内容