背景
我通过使用 JS 模拟用户输入,在我工作的应用程序上运行 UI 测试。JS 在运行测试应用程序的 iframe 上按顺序运行一堆鼠标和键盘触发器,我可以观察中断。我想对其进行设置,以便它可以定期截取当前状态的屏幕截图。
已经考虑
我知道这是一个重复的问题,我现在再次问这个问题,以防最近这个领域有任何发展。
我查看了http://html2canvas.hertzen.com/以截取屏幕截图,虽然它在大多数情况下都有效,但在使用大量 CSS3 和 webfonts 时似乎有问题。
我也不能随意使用服务器端方法,因为我正在开发一个单页主干应用程序,并且它不存储基于 URL 的状态(大部分情况下)。
我什至查看了 mozilla 的特定background:-moz-element()
属性,但是当您想要的页面位于 iframe 中时,这不起作用。
我认为最接近我需要的是 phantomJS,它允许您操作页面并截取屏幕截图。我想避免这种情况,因为我会使用在运行测试时查看测试的能力。
那么,有人知道我可以在这里使用什么吗?只要它在 Windows 上运行,它甚至可以是一种浏览器(Firefox 或 Chrome)独有的。它不需要在所有客户端上运行,只在我的客户端上运行,所以即使我必须设置一个特殊的环境也可以,只要可以通过 JS 保存屏幕截图(虽然只在 Firefox 或 Chrome 上,所以没有 ActiveX)。
TL;DR 需要 Javascript 或 HTML5 API 来保存在 iframe 中运行的应用程序的屏幕截图。请不要付费解决方案。