Joh*_*hnP 5 html javascript screenshot webpage-screenshot
背景
我通过使用JS模拟用户输入来对我正在处理的应用程序运行UI测试.JS在iframe上依次运行一堆鼠标和键盘触发器,测试的应用程序正在运行中,我可以观察休息时间.我想设置它,以便它可以定期截取当前状态的屏幕截图.
已经考虑过了
我知道这是一个重复的问题,我现在再次问这个问题,以防最近这个领域有任何进展.
我查看了http://html2canvas.hertzen.com/来截取屏幕截图,虽然它在大多数情况下都有用,但是当有很多CSS3和webfonts使用时它似乎有问题.
我也不能自由使用服务器端方法,因为我正在处理单页骨干应用程序,并且它不存储基于URL的状态(大多数情况下).
我甚至看过mozilla特定的background:-moz-element()属性,但是当你想要的页面在iframe中时,这不起作用.
我认为最接近我需要的是phantomJS,它允许你操纵页面并截取屏幕截图.我想避免这种情况,因为我会使用该功能来查看测试,否则我正在运行它.
那么,有没有人知道我可以在这里使用的任何东西?它甚至可以是一个浏览器(Firefox或Chrome)专用,只要它在Windows上运行即可.它不需要在我的所有客户端上运行,所以即使我必须设置一个特殊的环境,只要屏幕截图可以通过JS保存(仅在Firefox或Chrome上,所以没有ActiveX).
TL; DR 需要Javascript或HTML5 API来保存在iframe中运行的应用的屏幕截图.请不要付费解决方案.
最终选择了phantomJS。虽然 html2canvas 非常适合基本使用,但当您有大量 CSS3 和 webfonts 时,它就不太好用了。
phantomJS 的稳定版本存在一些已记录的网络字体问题 - https://code.google.com/p/phantomjs/issues/detail?id=592
值得庆幸的是,尽管该用户已经构建了一个具有开箱即用的字体支持的版本 - http://arunoda.me/blog/phantomjs-webfonts-build.html
另外,值得注意的是,如果您从自己的服务器(本地)提供网络字体,它仍然可能会失败。切换到谷歌托管的网址通常可以解决此问题。可能与内容类型有关。
| 归档时间: |
|
| 查看次数: |
1412 次 |
| 最近记录: |