我们使用 VirtualBox WinVista VM 在 IE9(和其他 Windows 浏览器)中测试我们的 JavaScript 应用程序。作为测试运行者,我们使用 Karma。通过 Karma github,我们找到了一个启动 IE9 并在该浏览器中启动测试运行程序的 bash 脚本。
这在很大程度上是可行的,但是当我们想要使用 localStorage 时,我们会收到“访问被拒绝”错误。但是,当我们在 VM 中手动启动浏览器时,我们可以毫无问题地访问 localStorage。
似乎通过 VBoxManage guestcontrol 命令启动浏览器会使用用户权限来阻止浏览器访问硬盘上的 localStorage 目录。当然,我们对 VboxManage 使用相同的用户帐户并手动运行浏览器。
Chrome 也显示了同样的问题,但我们可以将其重定向到公共目录。我们已经尝试更改指向 IE9 localstorage 目录的注册表项,但这似乎不起作用。
如果我们无法解决这个问题,我们将不得不退回到我们之前的解决方案,使用 Selenium WebDriver 来运行测试,从而降低 Karma 的用处。