我刚刚将我的firefox更新为v 20.0。每当我在firefox中打开Selenium IDE时,都会显示弹出错误。
Failed to load user-extensions.js file=[PATH to file ...]datadriven_v0.2/datadriven.js lineNumber=37 error=ReferenceError:XML is not defined
。
文件中报告的行是这样的:
XML.serialize = function(node) {
if (typeof XMLSerializer != "undefined")
return (new XMLSerializer()).serializeToString(node) ;
else if (node.xml) return node.xml;
else throw "XML.serialize is not supported or can't serialize " + node;
}
如果XML是Selenium IDE或firefox的一部分,我不知道selenium IDE的任何特定内容。但是,似乎Firefox的最新更新还有待做。
如果有人帮我解决这个问题,我将不胜感激。
答案 0 :(得分:3)
您可以在调用datadriven.js中的XML-Object之前解决此问题。
var XML = {};
XML.serialize = function(node) {
if (typeof XMLSerializer != "undefined")
return (new XMLSerializer()).serializeToString(node) ;
else if (node.xml) return node.xml;
else throw "XML.serialize is not supported or can't serialize " + node;
}
我不知道这是否有任何副作用,但对我来说它有效。
答案 1 :(得分:1)
斯文的想法对我来说非常合适。我添加了命令
var XML = {};
到我的user-extensions.js文件的开头,关闭FF和Selenium,然后重新启动它们。从那以后,他们一直很好地工作。我没法遇到FF v21.0。
谢谢Sven!
答案 2 :(得分:1)
我发布这个给任何使用sel-blocks的人;上述解决方案似乎不起作用,因为sel-blocks是一个附加组件而不是用户扩展。但是,仍然有一个解决方案。我添加了上面建议的行:
var XML = {};
改为此文件:
xmlextras.js
此文件可在(selenium扩展文件夹)/ chrome / content / selenium-core / scripts
中找到如果您不确定如何访问selenium扩展文件夹,请大致如下:
C:\ Users(您的用户名)\ AppData \ Roaming \ Mozilla \ Firefox \ Profiles(您的firefox个人资料)\ extensions {a6fd85ed-e919-4a43-a5af-8da18bda539f}
如果我没有使用正确的格式发布答案或任何内容,我道歉,但我只是想确保搜索我正在寻找的答案的任何人能够找到一些东西。
答案 3 :(得分:-1)
通过查看Selenium网站,最新版本的SIDE仅支持Firefox 17版。