Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Firefox中录制并稍后播放DOM更改?_Javascript_Firefox_Testing_Dom_Selenium - Fatal编程技术网

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

Javascript 在Firefox中录制并稍后播放DOM更改?,javascript,firefox,testing,dom,selenium,Javascript,Firefox,Testing,Dom,Selenium,背景: 我们有基于web的产品和一套不断增长的自动化Selenium测试,这些测试在一个连续集成系统上运行,用于每次提交。有时测试失败,有时很难找出发生了什么 以前我们每次跑步都会录制并保存一段视频(使用recordMyDesktop),但这需要更多的CPU和磁盘空间 问题: 是否有Firefox插件或类似工具用于记录DOM更改,然后在另一台机器上直观地回放这些更改?您可以尝试在DOM修改事件上添加事件侦听器,然后按照以下方式记录它们: document.addEventListener('DO

背景: 我们有基于web的产品和一套不断增长的自动化Selenium测试,这些测试在一个连续集成系统上运行,用于每次提交。有时测试失败,有时很难找出发生了什么

以前我们每次跑步都会录制并保存一段视频(使用recordMyDesktop),但这需要更多的CPU和磁盘空间

问题:
是否有Firefox插件或类似工具用于记录DOM更改,然后在另一台机器上直观地回放这些更改?

您可以尝试在DOM修改事件上添加事件侦听器,然后按照以下方式记录它们:

document.addEventListener('DOMNodeInserted', function(e) {someLoggingFunction(e);});
如果记录侦听器传递的节点的父元素,则应该能够回放任何修改

文档对象模型事件:


这不是一个时间轴样式的回放,可能是firebug的Firediff扩展:


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

这是一个付费网格,但您有没有研究过?它们支持屏幕截图和测试的视频播放。

我们以前在Ubuntu上使用过recordMyDesktop,但也注意到它过于CPU密集


在(基于云的Selenium网格)上,我们现在使用ffmpeg和x11grab,这在CPU方面要好得多。设置起来也很容易。

我们已经简要介绍了它,但公司政策阻止我们公开公开或将代码发送到其他地方,因此遗憾的是,目前这不是一个选项。SauceLabs有一个名为SauceConnect的Java隧道,可以保护所有流量,并可以在私人环境中运行测试。您可以在以下位置阅读更多内容:如您所述,记录更改非常容易。这是(视觉)回放的变化是棘手的部分。构建我们自己的工具是一种选择,但不是我们的首选。