关于macos:如何在Mac上的Microsoft Internet Explorer中测试网页?

关于macos:如何在Mac上的Microsoft Internet Explorer中测试网页?

How can I test my web pages in Microsoft Internet Explorer on a Mac?

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


更新:Microsoft现在为各种版本的IE提供虚拟机映像,这些映像可在所有主要的OS X虚拟化平台(VirtualBox,VMWare Fusion和Parallels)上使用。

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

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

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

  • 下载一些虚拟机软件。我们将要使用的开发人员磁盘映像将与VMWare Fusion或Sun Virtual Box一起使用。 VMWare具有更多功能,但价格为80美元,而Virtual Box更基本,但对大多数用户免费(有关详细信息,请参阅Virtual Box许可常见问题解答)。
  • 下载IE开发人员磁盘映像,该映像可从Microsoft免费获得:http://www.microsoft.com/downloads / ...
  • 使用MacPorts上提供的cabextract或作为源代码提取磁盘映像(感谢Clinton)。
  • 从http://www.kju-app.org/下载Q.app并将其放在您的/ Applications文件夹中(您需要它来将磁盘映像转换为VMWare / Virtual Box可以使用的格式)
  • 此时,该过程取决于您所使用的VM软件。

    虚拟盒子用户

  • 在Mac上打开Terminal.app(可以在/ Applications / Utilities中找到它),然后运行以下命令序列,将input.vhd替换为从中开始的VHD文件的名称,并将output.vdi替换为该名称您希望最终的磁盘映像具有:

    1
    2
    3
    4
    5
    /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中找到它),然后运行以下命令,将input.vhd和output.vmdk替换为正在使用的VHD文件的名称以及所需的名称您得到的磁盘映像具有:

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

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

  • 启动VMWare Fusion并创建一个新的虚拟机
  • 在高级磁盘选项中,选择"使用和现有磁盘",然后找到您刚创建的VMDK文件

  • 我推荐三种不同的方法:

    基于云的交互式虚拟机

    使用诸如SauceLabs或BrowserStack之类的东西。您将能够选择一个浏览器,输入一个URL,并在真实的浏览器中使用真实的OS,并根据需要进行测试和交互。这两个都还支持在您自己的计算机之间建立隧道,这样任何本地主机名都可以正常工作。

    还有CrossBrowserTesting,浏览器/测试,尽管我自己没有使用过,但它们似乎具有类似的服务。

    本地虚拟化

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

    • 在Mac OS X,2011-06,xairon.net上测试IE6、7、8和9
    • Mac的Internet Explorer简易之路,2011-09,osxdaily.com

    过去,还存在本机Mac应用程序(例如ies4osx),或者作为Windows应用程序(如果没有Windows,则需要VM)(例如IETester或MultipleIE)。缺点是这些仿真通常不如真实客户端稳定,并且甚至更难以调试,因为它们无法在浏览器的自然环境中运行。有时会导致在真正的浏览器中不会发生的错误,并且可能没有真正的浏览器所具有的错误。

    基于云的截图工厂

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

    我使用过的一些:

    • BrowserShots(免费,曾经是我的最爱,尽管速度缓慢使其他选择更具吸引力)
    • Adobe BrowserLab(也是免费的,需要一个Adobe ID。选项和覆盖率不像BrowserShots那样多,但是:没有延迟,即时屏幕截图,比较视图,并且能够让屏幕截图在给定的秒数后立即拍摄而不是立即显示(测试异步内容)。
    • CrossBrowserTesting(不是免费的,但具有交互式环境(请参见前面的方法)和类似于您自己的私人" BrowserShots"站点的屏幕截图工厂)


    在Mac上虚拟化Windows之后,还可以尝试使用Mutiple IE安装程序来获得各种Internet Explorer,而不必创建单独的VM实例。

    • 多个IE安装程序

    如果您只想查看有关页面在各种浏览器中的呈现方式的简单屏幕截图,则可以尝试使用免费服务浏览器快照,或者有多种服务可以在多种浏览器中自动测试您的页面。

    • browsershots.org

    Litmus是另一个基于Web的替代方案。


    VHD的最新版本(2009年1月)存在问题。 VHD看到有硬件更改,并提示您输入许可证密钥,甚至将用户拒之门外。到目前为止,还没有已知的解决方法。


    如果您只想获取屏幕截图,则Browsershots是另一种选择。


    一旦Mac可用,您可以使用Spoon浏览器(基于Web)。


    我不时使用Codeweavers Crossover产品进行此操作。

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

    这是虚拟化的另一种选择,与某些托管解决方案相比,它给您更多的控制权。就是说,它是基于WINE的,因此您可以潜在地解决以这种方式带来的所有问题。就是说,对于没有插件等的基本测试,它很好用。

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


    如果没有可以在虚拟机上运行的Windows副本(VMware也不免费),则可以尝试IEs4Linux。它将要求您在Mac上配置一些开放源代码,但是这些都是免费的。您至少需要芬奇,葡萄酒和开胃菜。有关特定的命令行说明,请参见上面的链接。没那么难!


    《 OSX日报》介绍了如何使用单个终端命令安装Windows VM(假设您已经安装了VirtualBox)。总结一下:

    IE 7:

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

    IE 8:

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

    IE 9:

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

    所有的IE !:

    1
    curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | bash

    http://www.browsercam.com是另一种基于Web的替代方法(尽管如Jeff所述,对测试功能的使用很少)


    Browsershots很不错,但是如果您需要测试功能而不仅仅是整体视觉呈现,那么它就没有用。

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

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

    如果有人正在寻找视觉演练,我这里有一个截屏视频。


    如果这是一个商业网站(或在IE上可以正常工作的重要网站),那么就不要走便宜的路子-投资一两台Windows机器。您的客户将感谢您。

    否则,进行虚拟化。


    有一个名为ies4osx的IEs4 Linux的OSX发行版,对我而言无需任何配置即可正常工作。


    推荐阅读