如何在Selenium WebDriver中调用user-extensions.js

我需要使用user-extensions.js中定义的函数。我们正处于从RC迁移到webdriver的过程中。 我才知道,有JavascriptExecutor会替换runScript和getEval.But我将如何指定user-extensions.js文件。 是否与java -jar selenium-server-standalone.jar -userExtensions user-extensions.js相同?

它们现在有一个名为IJavaScriptExecutor的接口,可用于替换用户扩展。

这是C#/ NUnit版本。

IJavaScriptExecutor js = driver as IJavaScriptExecutor; long tableRowCount = (long)js.ExecuteScript("return $('#tableid tr').length); 

这是Java / JUnit版本:

 JavascriptExecutor js = (JavascriptExecutor) driver; Object o = js.executeScript("return '123'"); 

最后,经过2年零2个月,我找到了一个在webdriver中使用用户扩展文件的解决方案,现在我们正在迁移到webdriver。

  loadjsFile(driver); 

function如下:

 public static void loadjsFile(WebDriver driver){ String scriptSrc = "http://localhost:8080/test/user-extensions.js"; String injectScript = "var script = document.createElement(\"script\");"; injectScript += "script.src = \""+scriptSrc+"\";"; injectScript += "script.setAttribute(\"type\",\"text/javascript\");"; injectScript += "document.body.appendChild(script);"; ((JavascriptExecutor) driver).executeScript(injectScript); } 

没有办法注入像Selenium RC这样的测试运行可用的javascript,这里有一个关于一些可能的迁移提示的post: http : //groups.google.com/group/selenium-developers/browse_thread/thread/15cb4b774b734cc7 / c7baf10db0bc2bc0