0

可能重复:
在 selenium 中加载包含有用测试功能的外部 js 文件

我必须使用 Selenium RC 对系统进行性能测试,并用 Javascript 编写测试,以便团队的其他成员能够理解它们。我需要能够 Sencha Ext 库来访问页面上的某些控件,因此我需要能够定义外部 js 库。在我对 selenium 的测试中,我无法使用将脚本标记写入页面的常规方法来定义库;文档未定义。也尝试使用其他 selenium 命令,如 addScript 似乎没有太大帮助。

有没有更好的方法在 Selenium 中包含一个外部 js 库?我在本地确实有开源 Sencha Ext 库,所以我可以把它放在任何地方。

我可以只加载库作为苏打水的参考吗?我确实看到有人修改了 Selenium 独立 RC jar 文件,但这是我理解的方式。我有点迷失在这里从哪里去。

谢谢,

4

1 回答 1

0

好吧,从js可以这样从selenium test运行的角度来看:

WebDriver driver;
// create driver, i.e. driver = new FirefoxDriver();
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("alert('Hello from Selenium!');");

所以实际上我们需要通过 selenium API 包含 js lib。恕我直言,您的解决方案如下:

 WebDriver driver;
    // create driver, i.e. driver = new FirefoxDriver();
    JavascriptExecutor js = (JavascriptExecutor) driver;

//Load an external js file containing useful test functions in selenium
js.executeScript("var doc = this.browserbot.getCurrentWindow().document; var scriptTag = doc.createElement("script"); scriptTag.type = "text/javascript" scriptTag.src = 'your_script_URL_goes_here'; doc.body.appendChild(scriptTag)");

这样我们就包含了所需的 js lib。以类似的方式,您可以调用包含在此外部 js 库中的函数。

这篇文章可能对你有帮助。还要调查这个问题。问候。

于 2012-10-15T15:14:41.933 回答