Lei*_*mon 49 javascript testing coffeescript phantomjs
我不确定为什么PhantomJS是必要的,我希望有人可以提供帮助.
ano*_*ave 119
需要DOM的JavaScript需要在某个地方运行,通常在浏览器中运行.因此,测试框架通常会启动一个浏览器,然后控制它们以运行测试并执行断言.测试框架本身通常无法直接控制浏览器,因此您的测试最终会有三层:
简单地说,PhantomJS是一个无头运行的浏览器(即不抽出屏幕).带来的好处是速度 - 如果您在计算机上控制实际程序,则在启动浏览器,配置配置文件等方面会有一定的开销.
PhantomJS在这方面要快得多(我看到测试的时间不到1/3).唯一的权衡是您无法看到您的测试正在运行,尽管这对自动化套件来说并不是什么大问题!如果需要,您也可以截取屏幕截图(例如,在失败时).如果你真的想,你可以以24fps的速度截取屏幕并发送到ffmpeg来渲染你的测试视频,尽管你可能会破坏你的速度节省:)
PhantomJS并不是要替换测试框架,它将与一个一起工作.
例如,这是一个与Jasmine一起使用的随机示例PhantomJS.
另请注意,PhantomJS不仅仅用于测试,您可以将其用于屏幕抓取或将重型渲染负载(例如,针对CPU挑战的移动浏览器)卸载到服务器上,如本例所示.
| 归档时间: |
|
| 查看次数: |
13532 次 |
| 最近记录: |