IE5/6/7, Firefox1.0/1.5/2.0, Opera8.0/9.0, Safari, IE developer toolbar, firebug。如果你经常和这些东西打交道,那么恭喜你,你已经意识到浏览器之间的差异性对于客户体验的重要性并在努力的克服它带来的问题。
做过web开发的程序员可能最痛苦的事情莫过于此,在IE里做了一个很酷很炫的东东,到了FF上不行不说,也许还会出现一些javascript的错误,郁闷的心情油然而生。。。但是又能怪谁呢?从有了浏览器开始,从IE和Netscape死磕开始,这个标准好像就没有统一过。虽然W3C有javascript的规范,也有DOM的规范,但是规范仅仅是规范,Microsoft的IE内核实现和Mozilla的Gecko内核的实现依然相差十万八千里,更别提他们一起Mac等后来者自己搞的一些列扩展了,于是就造就了我们这些开发人员的苦难。说到底,苦难的根源在于那些巨头们的商业利益,且不说IE,单单论及Firefox仅仅凭借Google Toolbar一年就从Google分成数千万$就知道这鸿沟原是人造的。
Web2.0时代更是把这种差异搞的更加明显。但是,存在的就是合理的,Firefox和Safari快速增长的用户和Opera在手机市场上的成功都是任何企业无法忽视的力量。所以一些开发人员也在努力的跨越这种人造的鸿沟,prototype, scriptculous,dojo等等第三方的能够部分解决跨浏览器问题的javascript lib不断涌现。。。但是好像一直没有一种像样的测试工具能够帮助我们做这种测试。Selenium不错,但是还是能单薄。。。可怜了我们的测试Team的MM们,不断的切换浏览器,分辨率甚至是变换操作系统。。。
realityqa(www.realityqa.com)的出现,为我们解决这种问题提供了一个很好的思路。这个产品是基于分布式的第三方hosted的产品,完全兼容Selenium,基于openqa和opensymphony及其他开源社区的众多开源产品开发而成,提供了浏览器兼容性测试(realityview)和跨浏览器的功能测试(realitycheck),能够以waterfall的形式把页面中每个对象的response time展示出来,更重要的是,它完全支持Ajax。
realityview:
realitycheck:
相信随着web2.0的发展,这种类似的产品和技术会越来越多,那时,web2.0带给程序员的更多的将不再是郁闷了吧?