使用Selenium IDE在JavaScript文件中调用函数

使用Selenium IDE在JavaScript文件中调用函数,javascript,asp.net-mvc-3,selenium,Javascript,Asp.net Mvc 3,Selenium,所以,我正在对一个我正在工作的站点运行这些Selenium IDE测试。关于测试本身的一切都运行良好,除了我想在完成后做一些清理。在我基于MVC3 Razor的站点中,我有一个JavaScript文件,其中包含一个从我的控制器获取JsonResult的函数。该控制器处理Selenium IDE无法处理的数据库清理 然而,我很难找到任何关于如何做到这一点的文档。我知道我可以将JavaScript{myjavascriptgoesher}作为测试中一行的值之一,但是我似乎找不到方法告诉它去查找我的清

所以,我正在对一个我正在工作的站点运行这些Selenium IDE测试。关于测试本身的一切都运行良好,除了我想在完成后做一些清理。在我基于MVC3 Razor的站点中,我有一个JavaScript文件,其中包含一个从我的控制器获取JsonResult的函数。该控制器处理Selenium IDE无法处理的数据库清理

然而,我很难找到任何关于如何做到这一点的文档。我知道我可以将
JavaScript{myjavascriptgoesher}
作为测试中一行的值之一,但是我似乎找不到方法告诉它去查找我的清理函数

Selenium IDE有可能做这种事情吗

如果归结到这一点,我可以单独提出一个观点来处理清理工作,但如果可能的话,我真的希望避免这样做

谢谢

这对我很有用

    IJavaScriptExecutor js = driver as IJavaScriptExecutor;
    string title = (string)js.ExecuteScript("myJavascriptGoesHere");

在这里使用javascript之前,请先确保它工作正常

如果希望从Selenium IDE执行测试页面中的JavaScript函数,则需要确保通过window对象访问该函数。例如,如果您查看
storeEval
的参考,它会说:

请注意,默认情况下,代码段将在 “selenium”对象本身,因此它将引用selenium对象。 使用window引用应用程序的窗口,例如。 window.document.getElementById('foo')

因此,如果您有自己的函数,例如
myFunc()
。您需要将其称为
window.myFunc()

这对于在不实际提交表单的情况下执行客户端验证非常方便,例如,如果您想要测试各种无效和有效的表单字段值


如果您使用的是
runScript
,它应该已经在窗口的上下文中运行了。

实际上要访问页面javascript空间,您需要获得页面的真实窗口:this.browserbot.getUserWindow()

查看此语句以获取页面中的jQuery入口点(当然,如果它有jQuery^)