2015-11-05 88 views
1

我正在嘗試向selenium IDE添加自定義功能。我將自定義函數添加到user-extensions.js,並且它們在IDE中按預期工作。出現問題的地方是導出新功能。我打算添加現有的C#/ Nunit/Webdriver格式,因此我單擊添加並複製將現有的cs-wd.js文件粘貼到我的新格式中保存並重新啓動Firefox。每當我點擊新格式我創建我得到一個JavaScript錯誤:「發生錯誤:的ReferenceError:等於沒有定義」ReferenceError:Equals未定義:Selenium IDE自定義格式

Equals.prototype.toString = function() { 
    return this.e1.toString() + " == " + this.e2.toString(); 
}; 

任何人有什麼建議?

+0

並且你是否在任何地方引用了cs-wd.js? – DMart

回答

1

好問題:D。我今天遇到了同樣的問題。我開始關注Perl-rc代碼格式化程序的擴展。在那裏,我foud這一行:

 var subScriptLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader); 
    subScriptLoader.loadSubScript('chrome://selenium-ide/content/formats/remoteControl.js', this); 

這似乎remoteControl.js加載到您自己的腳本的全局對象,使得Equals和NotEquals提供給您的腳本:瞭解更多信息,請參閱Mozilla's Documentation

更新:那之後你也應該添加一行:

 subScriptLoader.loadSubScript('chrome://selenium-ide/content/formats/webdriver.js', this); 

的腳本,以避免不被定義WDAPI的錯誤。