我一直看到许多客户在推动使用Selenium进行浏览器兼容性测试。想知道这是否真的必要。推动主要是由于Selenium网格支持并行执行多浏览器测试。

据我所知,Selenium主要是一种功能测试工具。因此,您发现使用Selenium的任何问题都会出现在所有浏览器中。如果我们发现多个浏览器中存在同一问题,它还有什么附加价值?

还是有更好的方法可以将Selenium用于兼容性测试?

#1 楼


Selenium解决了大部分跨浏览器测试。我会说90%。 Selenium非常适合跨浏览器进行Web测试。对于与UI相关的东西,即席手动检查就足够了。我曾经做过手动检查来验证UI的外观和感觉(文本大小在浏览器中看起来很小,对齐问题)
跨浏览器使用硒进行功能性UI测试可以验证ID是否存在于UI中,工作流功能在各个浏览器中都很好。硒无法检测到布局问题。您可以在selenium中自定义代码以检测Java脚本错误。

我以前基于布局错误的问题得到的工具很少。以下工具可用于与布局相关的检查和即席UI测试


免费的Google工具:消除布局错误
用于测试跨浏览器兼容性的有用工具
Browsera专用提供商进行跨浏览器测试
测试跨浏览器兼容性的十大免费Web应用程序




#2 楼


硒主要是一种功能测试工具。因此,您发现使用硒的任何问题都会出现在所有浏览器中


不,实际上并非如此。在某些浏览器中使用某些功能时可能会破坏某些功能。例如,对于我测试的其中一个应用程序,我看到了从IE 6到IE 7到IE 8的重大功能问题。

评论


我也听说过跨移动平台。例如,某些可能在iOS设备上运行的设备可能无法在BlackBerry上运行。

– joshin4colours
2012年3月29日14:48

确实是这样。不仅仅是浏览器,平台差异也很明显会引发功能问题。

–乔·斯特拉泽(Joe Strazzere)
2012年3月29日在18:07

怪不得是IE

–塔伦
2012年3月30日4:13在

实际上,当我们扩展受支持的平台以包括非IE浏览器时,我们也遇到了问题。我只是在示例中没有提到。这个世界分为两个阵营-IE和其他所有阵营。双方都出现问题...

–乔·斯特拉泽(Joe Strazzere)
2012年4月2日在20:33

#3 楼

自动化,并行化,跨浏览器测试是一个诱人的想法,但是以我的经验,成本可能无法证明其好处。我不知道您的客户请求是基于实际经验还是受信任的专业人员的建议,还是电梯中某人的毫无根据的主张。

您可能会花费大量时间来维护跨浏览器测试。即使您不更改产品,今天的测试也可能适用于当今的浏览器,而与下周的浏览器不兼容。如果您决定使用Selenium Grid,则期望花费大量时间升级到Selenium的新版本,并诊断测试中,Selenium中或产品中是否存在最新的错误。 (当然,该错误也可能在浏览器中,但这不在您的控制范围之内。)

如@Siva所述,即使您的功能测试运行良好,您仍未验证浏览器的兼容性。无论如何,您仍然需要手动进行测试。

您的测试预算有限。您花费在维护跨浏览器测试上的时间就是您不能以其他方式花费在测试上的时间。

不过,您的经历可能与我的不同。我建议将自动跨浏览器测试作为一个有限范围的试点项目。仅对应用程序的一部分进行自动化,并观察您在产品更改和新的浏览器版本发布时为保持其运行状态花费了多少精力。如果您对费用感到满意,则可以更积极地利用技术。或者如果您确定收益只是​​不合理地证明成本,则可以将其丢弃并考虑其他事项。