我有一些使用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在一个没有firebug的Firefox实例中调用它,所以调试非常棘手。我怎么能阻止这种情况发生?
编辑文件,延长超时时间并减少必须处理的HTML数量 not 选项。
答案 0 :(得分:2)
启用Firebug启动Watir-WebDriver。
首先下载Firebug XPI文件,然后:
profile = Selenium::WebDriver::Firefox::Profile.new
profile.add_extension "../path/to/firebug.xpi"
b = Watir::Browser.new :firefox, :profile => profile