YUI是一款企业级的JavaScript开发工具包,被广大Web前端工程师所熟知和采纳。不论是采用哪种框架,构建的Web应用在不同浏览器上的测试通常是一件令人头痛的事情。最近,Yahoo开发团队推出了开源YUI跨浏览器测试工具Yeti,相信Web开发和测试人员会从中受益。
Reid Burke在YUI博客上宣布了Yeti的诞生,他认为Yeti的发布能够帮助YUI的相关开发人员更好地执行跨浏览器测试:
YUI目前支持 11种不同的运行环境。此外,我们还会在一些移动设备上测试YUI.......
在YUI内部开发团队里,我们使用 Selenium和 Hudson在不同的浏览器和操作系统组合上运行基于 YUI Test的单元测试.......但是存在一个问题:这些工具搭建和维护比较复杂。起码,在你提交代码之前,它们无法帮助你开发和测试。
我非常高兴地宣布 Yeti 0.1.0版发布,它是一个命令行工具,在你提交代码之前,帮助你执行跨浏览器测试。
Yeti的优势在于能够自动启动JavaScript单元测试和报告结果,并且可以同时在多个浏览器上运行测试。Yeti允许开发人员同时测试多个代码文件:
$ yeti dom/tests/dom.html attribute/tests/attribute.html json/tests/json.html
✔ DOM Tests from Safari (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16)
20 passed
0 failed
✔ Y.JSON (JavaScript implementation) from Safari (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16)
68 passed
0 failed
✔ Attribute Unit Tests from Safari (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16)
106 passed
0 failed
194 tests passed! (3217ms)
Yeti的运行方式十分简便,只需执行命令:Yeti xxxx.html即可,如果没带任何参数,Yeti会启动一个Web服务器,你可以通过http://localhost:8000访问并执行测试。
![Yeti on iOS 4 Safari](http://yuiblog.com/assets/yeti/mobilesafari.jpg)
(图片来源:YUI博客)
Yeti目前处于幼年,还存在很多不足,比如依赖YUI Test框架、只在Mac OS X平台上测试过、在某些场景下或许不能运行等,但是它在YUI团队内部非常受欢迎,所以开发人员才迫不及待地将其发布出来与社区分享。