JQuery& IE8崩溃检测

时间:2011-08-24 07:21:32

标签: jquery css browser web system-testing

我最近被要求帮助调试一个导致IE8在某些情况下崩溃的网站问题。拥有该网站的公司无法重现该问题,但他们收到了受影响用户的许多报告。

我能够重现这个问题,并最终发现它是由this jQuery/IE 8 issue引起的。使用CSS将背景图像应用于body标记并加载jQuery时会发生此问题。关于提供jQuery错误票据评论的帖子this jsFiddle example,对我来说至少可以一致地重现问题。

我遇到的问题是在测试环境中可靠地再现它。任何人都可以建议测试这种东西的方法吗?尽管复制了jsFiddle示例使用的确切代码,但我无法在本地重现问题 - 它可能依赖于特定时间,但我不确定。我想在自动测试套件中添加一些内容来检查这个问题(之前已经应用了jQuery修复程序,并且在以后的版本中意外删除了它)。

如何测试浏览器崩溃?该站点是用Perl编写的,一些自动化测试是使用Selenium和WWW :: Mechanize进行的。

注意:我考虑在Pro Webmasters上发布此内容,但在阅读FAQ之后,我认为它更适合于此。

3 个答案:

答案 0 :(得分:7)

除了尽可能多种因素组合运行单元测试和压力测试之外,我认为你不能做任何其他事情。

这就是所谓的“Mandelbugs”的性质。

答案 1 :(得分:1)

鉴于唯一一致的事情似乎是在样式声明之前加载JQ没有问题,我会尝试设置JQ在CSS声明/链接CSS文件加载后以不同的时间间隔加载。

从风格建立后立即到DOM准备好后。我的猜测是,JQ会引用IE8已经可访问的内容,因为在DOM加载过程中发生了一些非常愚蠢的事情,因此尚未准备好分享。

即使您重新打开应用程序,我也看到多个开发人员工具在IE8中永久崩溃的事件。如果不是这样的话,我不太可能认为这样的错误。

编辑:公平地说,JQ可能在1.62做了一些奇怪的事情,或者这个bug在一般情况下会更为人所知。 IE8已经出现几年了。

答案 2 :(得分:0)

您可以尝试使用一些提供跨平台,跨浏览器测试功能的SauceLabs产品进行测试。