0

我正在运行一个网站测试自动化工具(Sahi)。但是在开始网站测试之前,我首先检查测试工具是否放在驱动器C中。所以我正在编写一个js来创建一个文件系统对象:

function IsSahi_tool_Exists(DriveName)

{ var folderBool = false; var fso = new ActiveXObject("Scripting.FileSystemObject"); if(DriveName != null) { folderBool = fso.FolderExists(DriveName + ":\Sahi_tool"); if(folderBool == true) { folderBool = fso.FolderExists(DriveName + ":\Sahi_tool\sahi\bin"); } }

return folderBool;

}

但是这个函数返回假,并且我确定路径存在,我认为错误是因为 ActiveXObject 失败。尝试以 sahi 形式讨论,但没有回应。我尝试了以下方法:

  1. 在 IE8->Internet 选项->安全中启用所有 ActiveX 控件
  2. 使用 ActiveX 安装 Flash Player。
  3. 开始->运行->regsvr32 "C:\Program Files\Common Files\Microsoft Shared\DAO\DAO360.DLL"。

但我仍然是函数返回错误。如果我评论了这个函数调用,sahi 将继续测试网站,但在另一个 ActiveXObject 函数调用处停止。请建议我启用 ActiveX 的过程。函数 ActiveXObject() 不会报告错误。

谢谢

4

1 回答 1

0

Sahi 在嵌入式 rhino javascript 引擎中运行 Sahi 脚本。它不支持 rhino 引擎中的 ActiveX(您可以在浏览器上访问 ActiveX 控件)

请记住,仅当 Sahi 可用且正在运行时,才会执行 Sahi 脚本。您的要求相当于编写一个 java 程序来检查是否安装了 java。

问候,

于 2011-03-05T10:29:10.417 回答