Selenium RC在Javascript中添加外部js文件

时间:2012-10-12 18:33:21

标签: javascript selenium extjs

  

可能重复:
  Load an external js file containing useful test functions in selenium

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

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

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

谢谢,

1 个答案:

答案 0 :(得分:0)

从这个角度来看,js可以通过硒测试运行:

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 lib中的函数。

This帖子可能对您有所帮助。 同时调查this问题。 问候。