我有一些使用 Watir webdriver 和 FXDriver 运行的浏览器测试,一切正常。然而,有一个测试加载了一个包含大量 HTML 的灯箱,当测试打开这个灯箱时,Firefox 显示一个弹出窗口,抱怨来自 FXDriver 的 Utils.js 第 432 行已成为“无响应脚本”并且测试超时。我宁愿正确解决问题而不是扩展dom.max_script_run_time
值,所以我查看了有问题的行...
goog.string.canonicalizeNewlines = function(a) {
return a.replace(/(\r\n|\r|\n)/g, "\n")
};
很明显为什么这会让 Firefox 挂起,问题是如何阻止它。这个函数在很多地方被调用,并且因为它被 Watir 在一个没有萤火虫的 Firefox 实例中调用,所以调试起来非常棘手。我怎样才能阻止这种情况发生?
编辑文件、延长超时时间和减少它必须处理的 HTML 数量都不是选项。