如何在Mac上的Microsoft Internet Explorer中testing我的网页?
我想testing我在所有Internet Explorer(6,7和8testing版)的所有现代版本中创build的网页,但我主要在Mac上工作,并且通常不能直接访问PC。
更新:微软现在为各种版本的IE提供虚拟机镜像,可以在所有主要的OS X虚拟化平台( VirtualBox , VMWare Fusion和Parallels )上使用。
从http://www.modern.ie/en-us/virtualization-tools#downloads下载相应的映像;
在基于Intel的Mac上,您可以在虚拟机中运行Windows。 对于要testing的每个IE版本,您都需要一个虚拟机。
以下说明包括免费和合法的虚拟化软件和Windows磁盘映像。
- 下载一些虚拟机软件。 我们要使用的开发人员磁盘映像将与VMWare Fusion或Sun Virtual Box配合使用 。 VMWare具有更多的function,但价格为80美元,另一方面,Virtual Box更基本,但对于大多数用户来说是免费的(详情请参阅Virtual Box许可常见问题解答 )。
- 从Microsoft免费下载IE开发人员磁盘映像: http://www.microsoft.com/downloads/ …
- 使用MacPorts提供的cabextract或作为源代码提取磁盘映像(感谢克林顿 )。
- 从http://www.kju-app.org/下载Q.app,并把它放在你的/ Applications文件夹中(你需要把它转换成VMWare / Virtual Box可以使用的格式)
在这一点上,这个过程取决于你正在使用哪个虚拟机软件。
Virtual Box用户
-
在你的Mac上打开一个Terminal.app文件(你可以在/ Applications / Utilities中find它)并运行以下命令序列,将input.vhdreplace为你启动的VHD文件的名称, output.vdireplace为name你想要你的最终磁盘映像有:
/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并创build一个新的虚拟机
- select刚刚创build的新VDI文件作为引导硬盘
VMWare融合用户
-
在你的Mac上打开一个Terminal.app文件(你可以在/ Applications / Utilities中find它)并运行以下命令,用你正在使用的VHD文件的名字replaceinput.vhd和output.vmdk ,您的结果磁盘映像有:
/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并创build一个新的虚拟机
- 在高级磁盘选项中select“使用和现有磁盘”并find您刚创build的VMDK文件
我可以推荐三种主要的方法:
基于云的交互式虚拟机
使用类似SauceLabs或BrowserStack的东西。 你将能够select一个浏览器,input一个url,然后用真实的浏览器使用一个真正的操作系统,并根据需要进行testing和交互。 这两个也支持build立一个隧道到/从你自己的机器,所以任何本地主机名将工作正常。
也有CrossBrowserTesting , 浏览器 / testing ,似乎有类似的服务,虽然我没有使用这些我自己。
基于云的截图工厂
如果你不需要交互性或者需要一个更便宜的解决scheme(注意,这种方法可能并不总是更便宜,做一些假设之前做一点研究),也有在线服务,像以前一样,可以访问真正的浏览器/ OS环境。 但与之前相反,不要授予交互式访问实际的机器,而只是获得截图。 这既有上涨也有下滑。 缺点是你不能与之互动。 不过,好处在于,其中大部分function可以轻松地总结截图,因此您不必一个接一个地开始会话并获取屏幕截图。
有些我用过:
- BrowserShots (免费和曾经是我最喜欢的,虽然缓慢使替代品更具吸引力)
- Adobe BrowserLab (也是免费的,需要一个Adobe ID,没有BrowserShots那样多的选项和覆盖范围,但是:没有延迟,即时截图,比较视图,并且能够在给定的秒数而不是立即testingasynchronous的东西)。
- CrossBrowserTesting (不是免费的,但也有一个交互式环境(见前面的方法)和截图工厂,就像你自己的私人“BrowserShots”网站)
本地虚拟化
您可以使用VirtualBox (类似于VMWare / Parallels,除了VirtualBox是免费且开放源代码的!)在您的计算机上创build一个或多个虚拟机。 您可能会也可能不知道这一点,但您无需为此虚拟机获取Windows的官方副本。 什么? 没有官方的副本? 海盗行为? 不,相反。 Microsoft提供了简化的Windows安装的图像,并且预安装了某个IE版本( 下载 )。 选中这些文章之一,以启动和运行:
- 在Mac OS X ,2011-06,xairon.net上testingIE6,7,8 和9
- Internet Explorer的Mac轻松的方式 ,2011-09,osxdaily.com
还有第四种方法,但我并不推荐它,因为它有缺陷,没有任何好处(如果你不同意的话,我可以提出反馈意见)。 第四种方法是模拟一个或多个版本的IE。 无论是本机Mac应用程序(如ies4osx ),还是作为Windows应用程序,如果您没有Windows(如IETester或MultipleIEs ),则需要VM。 缺点是这些仿真通常不如真实客户端稳定,而且更难于debugging,因为它们不能在浏览器的自然环境中运行。 有时会导致真正的浏览器中没有发生的错误,也可能没有真正的浏览器会有的错误。
一旦在Mac上虚拟化了Windows,您也可以尝试使用Mutiple IE安装程序来获取各种types的Internet Explorer,而无需创build单独的VM实例。
- 多个IE安装程序
如果您只是想看看页面在各种浏览器中呈现的简单截图,则可以尝试使用免费服务浏览器,或者有多种服务可以在多个浏览器中自动testing您的页面。
- browsershots.org
石蕊是另一种基于networking的select。
Browsershots是另一种select,如果你只是想获得截图。
VHD的最新版本(2009年1月)有一个问题。 VHD看到有硬件更改,并提示input许可证密钥,甚至将用户locking。 至今还没有已知的解决方法。
如果您没有可以在虚拟机上运行的Windows副本(VMware也不是免费的),则可以尝试使用IEs4Linux 。 这将需要你在Mac上configuration一些开源的东西,但它都是免费的。 你至less需要fink,酒和cabextract。 查看上面的链接,了解一些特定的命令行方向。 这并不难!
我已经使用Codeweavers Crossover产品来进行这个工作。
http://www.codeweavers.com/products/cxmac/
对于虚拟化来说,这是一个不同的select,它比一些托pipe解决scheme提供了更多的控制权。 也就是说,它是基于WINE的,所以你可以通过这样做来解决所有的问题和问题。 这就是说,对于没有插件的基本testing等,它的效果很好。
我不是100%确定支持IE8,你需要检查一下,但它肯定会给你6和7的本地支持。
一旦它变得可用于Mac,您可以使用勺子浏览器 (基于networking)。
有一个名为ies4osx的IEs4 Linux的OSX发行版,在没有任何configuration的情况下工作正常。
如果这是一个商业网站(或者一个严重的网站,它确实在IE上运行是非常重要的),那么就不要走廉价路线 – 投资一两台Windows机器。 你的客户会感谢你。
否则,虚拟化。
Browsershots是不错的,但是如果你需要testingfunction而不是全面的可视化渲染,那就没用了。
IEs4OSX和IEs4Linux有严重的缺点。 他们没有真正的支持像Flash和Silverlight插件和扩展。 渲染不精确,而且非常不稳定。 为了testing你真的需要在Windows上运行的IE的实际版本,但你不需要有一个专用的盒子。
VirtualBox上的IE图像真的是最好的,也是最简单的方法。
如果有人正在寻找一个视觉漫游,我在这里有一个截屏 。
另一种基于Web的替代scheme(尽pipe如Jeff所说,对testingfunction没有多大用处)是http://www.browsercam.com
“OSX日报”解释了如何使用单个terminal命令安装Windows虚拟机 (假设您已经安装了VirtualBox )。 总结:
IE 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