可能重复:
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文件,但这是让我理解的方法。我有点迷失在这里离开这里。
谢谢,
答案 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中的函数。