录制并稍后在Firefox中播放DOM更改?

时间:2012-03-28 14:59:06

标签: javascript firefox testing dom selenium

背景 我们拥有基于Web的产品和不断增长的自动化Selenium测试套件,可在每个提交的持续集成系统上运行。有时测试失败,有时很难找出发生的事情。

之前我们为每次运行录制并保存了一个视频(使用recordMyDesktop),但这需要的CPU和磁盘空间比我们可以节省的多。

问题: 是否有用于记录DOM更改的Firefox插件或类似工具,以及之后可以直观地播放它们,最好是在另一台计算机上播放?

3 个答案:

答案 0 :(得分:1)

您可以尝试在dom修改事件上添加事件侦听器,然后沿着以下行记录它们:

document.addEventListener('DOMNodeInserted', function(e) {someLoggingFunction(e);});

如果您记录侦听器传递的节点的父元素,则应该能够播放任何修改。

文档对象模型事件:http://www.w3.org/TR/DOM-Level-2-Events/events.html


这不是时间轴风格的播放,可能是火炬的Firediff扩展:

http://www.incaseofstairs.com/firediff/

它可以跟踪所有dom更改,并允许保存dom状态的快照,同时将历史记录恢复到以前的状态。

答案 1 :(得分:1)

我们以前在Ubuntu上使用了recordMyDesktop,但也注意到它太占用CPU了。

TestingBot(基于云的Selenium Grid),我们现在使用ffmpeg和x11grab这是一个更好的CPU。这也很容易设置。

答案 2 :(得分:0)

这是一个付费网格,但你看过SauceLabs了吗?它们支持测试的屏幕截图和视频播放。