Firefox 20.0中的Selenium IDE datadrivenv0.2问题

时间:2013-04-04 11:11:57

标签: firefox selenium firefox-addon selenium-ide

我刚刚将我的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的最新更新还有待做。

如果有人帮我解决这个问题,我将不胜感激。

4 个答案:

答案 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版。

https://code.google.com/p/selenium/wiki/SeIDEReleaseNotes