0

我刚刚将我的 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

4 回答 4

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;
}

我不知道这是否有任何副作用,但对我来说它有效。

于 2013-04-11T10:12:00.660 回答
1

斯文的想法非常适合我。我添加了命令

var XML = {};

到我的 user-extensions.js 文件的开头,关闭 FF 和 Selenium,然后重新启动它们。从那时起,他们一直在完美地工作。我到 FF v21.0 没有问题。

谢谢斯文!

于 2013-04-26T18:45:35.010 回答
1

我正在为使用 sel-blocks 的任何人发布此信息;上述解决方案似乎不起作用,因为 sel-blocks 是附加组件而不是用户扩展。但是,仍然有解决方案。我添加了上面建议的行:

var XML = {};

改为:

xmlextras.js

该文件位于(硒扩展文件夹)/chrome/content/selenium-core/scripts

如果您不确定如何访问您的 selenium 扩展文件夹,大致如下:

C:\Users(你的用户名)\AppData\Roaming\Mozilla\Firefox\Profiles(你的 Firefox 配置文件)\extensions{a6fd85ed-e919-4a43-a5af-8da18bda539f}

如果我没有使用正确的格式来发布答案或任何内容,我深表歉意,但我只是想确保任何搜索我正在寻找的答案的人都能找到一些东西。

于 2013-04-30T14:23:51.623 回答
-1

通过查看 Selenium 网站,最新版本的 SIDE 仅支持 Firefox 版本 17。

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

于 2013-04-04T13:19:42.133 回答