我想测试我在所有现代版本的 Internet Explorer(6、7 和 8 beta)中创建的网页,但我主要在 Mac 上工作,通常无法直接访问 PC。

有帮助吗?

解决方案

更新: Microsoft 现在为各种版本的 IE 提供虚拟机映像,可在所有主要 OS X 虚拟化平台上使用(虚拟盒子, 虚拟机融合, , 和 相似之处).

从以下位置下载适当的图像: https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/


在基于 Intel 的 Mac 上,您可以在虚拟机中运行 Windows。对于要测试的每个 IE 版本,您都需要一台虚拟机。

以下说明包括免费且合法的虚拟化软件和 Windows 磁盘映像。

  1. 下载一些虚拟机软件。我们要使用的开发人员磁盘映像将适用于 虚拟机融合 或者 Sun虚拟盒. 。VMWare 有更多功能,但价格为 80 美元,Virtual Box 则更基本,但对大多数用户免费(请参阅 Virtual Box 许可常见问题解答 了解详情)。
  2. 下载 IE 开发人员磁盘映像,该映像是从 Microsoft 免费提供的: http://www.microsoft.com/downloads/...
  3. 使用提取磁盘映像 赤霞珠提取物 可以从 Mac端口 或作为源代码(感谢 克林顿).
  4. 从以下位置下载 Q.app http://www.kju-app.org/ 并将其放入 /Applications 文件夹中(您将需要它将磁盘映像转换为 VMWare/Virtual Box 可以使用的格式)

此时,该过程取决于您使用的虚拟机软件。

虚拟盒用户

  1. 在 Mac 上打开 Terminal.app(您可以在 /Applications/Utilities 中找到它)并运行以下命令序列,替换 输入.vhd 使用您要启动的 VHD 文件的名称和 输出.vdi 使用您希望最终磁盘映像具有的名称:

    /Applications/Q.app/Contents/MacOS/qemu-img convert -O raw -f vpc "input.vhd" temp.bin
    VBoxManage convertdd temp.bin "output.vdi"
    rm temp.bin
    mv "output.vdi" ~/Library/VirtualBox/VDI/
    VBoxManage modifyvdi "output.vdi" compact
    
  2. 启动 Virtual Box 并创建一个新的虚拟机
  3. 选择刚刚创建的新VDI文件作为启动硬盘

VMWare 融合用户

  1. 在 Mac 上打开 Terminal.app(您可以在 /Applications/Utilities 中找到它)并运行以下命令,替换 输入.vhd输出.vmdk 包含您正在处理的 VHD 文件的名称以及您希望生成的磁盘映像具有的名称:

    /Applications/Q.app/Contents/MacOS/qemu-img convert -O vmdk -f vpc "input.vhd" "output.vmdk"
    mv "output.vmdk" ~/Documents/Virtual\ Machines.localized/
    

    这可能需要一段时间(在我的 2.4GHz Core 2 Duo MacBook w/ 2Gb RAM 上,每个磁盘映像大约需要 30 分钟)。

  2. 启动VMWare Fusion并创建一个新的虚拟机
  3. 在高级磁盘选项中选择“使用和现有磁盘”并找到刚刚创建的VMDK文件

其他提示

我推荐三种不同的方法:

基于云的交互式虚拟机

使用类似的东西 酱汁实验室 或者 浏览器堆栈. 。您将能够选择一个浏览器,输入一个网址,并使用真实的操作系统和真实的浏览器,并根据需要进行测试和交互。这两者都支持设置往返于您自己的计算机的隧道,因此任何本地主机名都可以正常工作。

还有 跨浏览器测试, 浏览器/测试, ,似乎有类似的服务,尽管我自己没有使用过这些服务。

本地虚拟化

您可以使用 虚拟盒子 (免费且开源,类似于 VMWare 或 Parallels)在您的计算机上创建一个或多个虚拟机。您可能知道也可能不知道这一点,但您不需要为这些虚拟机获取 Microsoft Windows 的官方副本。Microsoft 提供简化 Windows 安装的免费 VM 映像,用于测试 Internet Explorer 和 Microsoft Edge(下载)。查看以下文章之一以启动并运行:

过去也有原生的 Mac 应用程序(例如 ies4osx),或者如果您没有 Windows,则作为需要 VM 的 Windows 应用程序(例如 IE测试仪 或者 多个IE)。缺点是这些模拟通常不如真实客户端稳定,并且更难以调试,因为它们不在浏览器的自然环境中运行。有时会导致真实浏览器中不会发生的错误,并且可能不会出现真实浏览器中可能存在的错误。

基于云的屏幕截图工厂

如果您不需要交互性和/或需要更便宜的解决方案(请注意,这种方法可能并不总是更便宜,在做出假设之前先做一些研究),还有一些在线服务,与前一个一样,可以访问真实的浏览器/操作系统环境。但与之前相反,不要授予对实际机器的交互访问权限,而只是为了获取屏幕截图。这既有好处也有坏处。缺点是你无法与之互动。然而,好处是,其中大多数都可以轻松总结屏幕截图,因此您不必一个接一个地启动会话并获取屏幕截图。

我用过的一些:

  • 浏览器截图 (免费并且曾经是我的最爱,尽管缓慢使得替代品更具吸引力)
  • Adobe浏览器实验室 (也是免费的,需要 Adob​​e ID。没有 BrowserShots 那么多的选项和覆盖范围,但是:无延迟、即时屏幕截图、比较视图以及能够在给定秒数后而不是立即截取屏幕截图(以测试异步内容)。
  • 跨浏览器测试 (不是免费的,但也有一个交互式环境(请参阅前面的方法)和一个屏幕截图工厂,就像您自己的私人“BrowserShots”站点)

在 Mac 上虚拟化 Windows 后,您还可以尝试 多重IE 安装程序即可获取各种风格的 Internet Explorer,而无需创建单独的 VM 实例。

如果您只是想查看页面在各种浏览器中如何呈现的简单屏幕截图,您可以尝试免费服务 浏览器截图 或者有许多服务可以在多个浏览器中自动测试您的页面。

石蕊 是另一种基于网络的替代方案。

浏览器截图 如果您只想获取屏幕截图,这是另一种选择。

最新版本(2009 年 1 月)的 VHD 存在问题。VHD 发现硬件发生变化并提示输入许可证密钥,最终将用户锁定。目前还没有已知的解决方法。

如果您没有可以在虚拟机中运行的 Windows 副本(VMware 也不是免费的),您可以尝试 IE4Linux. 。它将要求您在 Mac 上配置一些开源内容,但它都是免费的。你至少需要芬克、葡萄酒和赤霞珠。有关一些特定命令行说明,请参阅上面的链接。这并不难!

我时常使用 Codeweavers Crossover 产品来执行此操作。

http://www.codeweavers.com/products/cxmac/

这是虚拟化的不同选择,并且比某些托管解决方案为您提供更多的控制权。也就是说,它是基于 WINE 的,因此您可能会遇到这样做所带来的所有问题。也就是说,对于没有插件等的基本测试,它效果很好。

我不能 100% 确定是否支持 IE8,您需要检查一下,但它肯定为您提供了对 6 和 7 的本机支持。

你可以使用 勺子浏览器 (基于网络)一旦可用于 Mac。

有一个 IEs4 Linux 的 OSX 发行版,名为 ies4osx, ,这对我来说效果很好,无需任何配置。

如果这是一个商业网站(或者是一个严肃的网站,在 IE 上运行非常重要),那么不要走便宜的路线 - 投资一两台 Windows 计算机。您的客户会感谢您。

否则,虚拟化。

Browsershots 很好,但如果您需要测试功能而不仅仅是整体视觉渲染,则毫无用处。

IEs4OSX 和 IEs4Linux 有严重的缺点。他们对 Flash 和 Silverlight 等插件和扩展没有真正的支持。渲染不精确并且非常不稳定。为了进行测试,您确实需要在 Windows 上运行的实际版本的 IE,但不需要专用的盒子。

VirtualBox 上的 IE 图像确实是最好、最简单的方法。

我有一个 此处截屏 如果有人正在寻找视觉演练。

另一种基于 Web 的替代方案(尽管正如杰夫所说,对于测试功能没有多大用处)是 http://www.browsercam.com

OSX Daily 解释了如何使用单个终端命令安装 Windows 虚拟机 (假设你已经 已安装 VirtualBox)。总结一下:

浏览器7:

curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="7" bash

IE 8:

curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="8" bash

IE 9:

curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="9" bash

所有 IE!:

curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | bash
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top