如何在 Mac 上的 Microsoft Internet Explorer 中测试我的网页?
-
09-06-2019 - |
题
我想测试我在所有现代版本的 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 磁盘映像。
- 下载一些虚拟机软件。我们要使用的开发人员磁盘映像将适用于 虚拟机融合 或者 Sun虚拟盒. 。VMWare 有更多功能,但价格为 80 美元,Virtual Box 则更基本,但对大多数用户免费(请参阅 Virtual Box 许可常见问题解答 了解详情)。
- 下载 IE 开发人员磁盘映像,该映像是从 Microsoft 免费提供的: http://www.microsoft.com/downloads/...
- 使用提取磁盘映像 赤霞珠提取物 可以从 Mac端口 或作为源代码(感谢 克林顿).
- 从以下位置下载 Q.app http://www.kju-app.org/ 并将其放入 /Applications 文件夹中(您将需要它将磁盘映像转换为 VMWare/Virtual Box 可以使用的格式)
此时,该过程取决于您使用的虚拟机软件。
虚拟盒用户
在 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
- 启动 Virtual Box 并创建一个新的虚拟机
- 选择刚刚创建的新VDI文件作为启动硬盘
VMWare 融合用户
在 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 分钟)。
- 启动VMWare Fusion并创建一个新的虚拟机
- 在高级磁盘选项中选择“使用和现有磁盘”并找到刚刚创建的VMDK文件
其他提示
我推荐三种不同的方法:
基于云的交互式虚拟机
使用类似的东西 酱汁实验室 或者 浏览器堆栈. 。您将能够选择一个浏览器,输入一个网址,并使用真实的操作系统和真实的浏览器,并根据需要进行测试和交互。这两者都支持设置往返于您自己的计算机的隧道,因此任何本地主机名都可以正常工作。
还有 跨浏览器测试, 浏览器/测试, ,似乎有类似的服务,尽管我自己没有使用过这些服务。
本地虚拟化
您可以使用 虚拟盒子 (免费且开源,类似于 VMWare 或 Parallels)在您的计算机上创建一个或多个虚拟机。您可能知道也可能不知道这一点,但您不需要为这些虚拟机获取 Microsoft Windows 的官方副本。Microsoft 提供简化 Windows 安装的免费 VM 映像,用于测试 Internet Explorer 和 Microsoft Edge(下载)。查看以下文章之一以启动并运行:
- 在 Mac OS X 上测试 IE6、7、8 和 9, 2011-06, 夏龙网
- Mac 版 Internet Explorer 的简单方法, 2011-09, osxdaily.com
过去也有原生的 Mac 应用程序(例如 ies4osx),或者如果您没有 Windows,则作为需要 VM 的 Windows 应用程序(例如 IE测试仪 或者 多个IE)。缺点是这些模拟通常不如真实客户端稳定,并且更难以调试,因为它们不在浏览器的自然环境中运行。有时会导致真实浏览器中不会发生的错误,并且可能不会出现真实浏览器中可能存在的错误。
基于云的屏幕截图工厂
如果您不需要交互性和/或需要更便宜的解决方案(请注意,这种方法可能并不总是更便宜,在做出假设之前先做一些研究),还有一些在线服务,与前一个一样,可以访问真实的浏览器/操作系统环境。但与之前相反,不要授予对实际机器的交互访问权限,而只是为了获取屏幕截图。这既有好处也有坏处。缺点是你无法与之互动。然而,好处是,其中大多数都可以轻松总结屏幕截图,因此您不必一个接一个地启动会话并获取屏幕截图。
我用过的一些:
- 浏览器截图 (免费并且曾经是我的最爱,尽管缓慢使得替代品更具吸引力)
- Adobe浏览器实验室 (也是免费的,需要 Adobe 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