相关连接:【浏览器兼容性概述】
目录
一、浏览器兼容性测试工具
1.0、IETester【免费·exe】
1.1、SuperPreview【收费·exe】
1.2、Adobe Browserlab【在线测试】
1.3、BrowserStack【在线测试】
1.4、Sauce Labs【在线】
1.5、Browsershots【在线】
一、浏览器兼容性测试工具
1.0、IETester【免费·exe】
这是我最先用的测试浏览器兼容性的工具,想必也是大家用的最多的一个,IETester是一个免费的Web浏览器调试工具,可以模拟出不同的js引擎来帮助程序员设计效果统一的代码。IETester可以在独立的标签页中开启IE5.5、IE6、IE7,IE8 beta2这4个不同版本的IE。可以方便的解决IE浏览器的兼容问题。
1.1、SuperPreview【收费·exe】
最先知道SuperPreview是在微软WebCast的技术创新日的课程上,在SuperPreview中,你可以同时浏览网页在各个版本的IE中的效果。根据微软的介绍,SuperPreview的可用IE版本视系统已安装IE浏览器的版本而定,如果系统安装了IE8,那SuperPreview浏览器测试可用版本就包括IE8、IE7和IE6;如果系统安装了IE7,那SuperPreview只包括IE7和IE6;如果系统安装了IE6,那SuperPreview只能测试IE6。
不过,Microsoft Expression Web 3向所有浏览器敞开了大门,这里有篇不错的文章。大家可以了解下。
1.2、Adobe Browserlab【在线测试】
【据外媒报道,Adobe公司忽然宣布将关闭旗下的桌面浏览器测试服务平台BrowserLab,建议用户可以选择使用BrowserStack和Sauce Labs来代替Adobe Browserlab】
Adobe Browserlab是Adobe出品的在线测试工具,基于flash开发。支持FF,IE等多种浏览器,使用之前首先需要注册。
图中则是FF和Safari的测试。
1.3、BrowserStack【在线测试】
提到BrowserStack提供虚拟化服务。大多数开发者,当他们听到的是“虚拟机”,就认为这不是一种很好的方法,因为虚拟机需要宝贵的磁盘空间和系统资源,并且大多数开发者厌恶运行它们。BrowserStack采取一种不同的方法,利用Adobe Flash在自己的浏览器提供了一个虚拟浏览器。你不需要安装任何真实的虚拟浏览器。
这是非常强大的功能,最关键的就是要在你的浏览器做的。当然你不局限在操作系统或浏览器版本选择。browserstack提供虚拟化为:
Windows XP, 7 and 8OSX Snow Leopard, Lion and Mountain LioniOSAndroidOpera Mobile
是的,他们提供移动浏览器的虚拟化。我们在一个移动的世界,所以我期望的不多。根据你选择的操作系统,BrowserStack提供了一些特定的操作系统支持的浏览器,在某些情况下,包括测试版和nightlies。
除了操作系统和浏览器的选项,你可以选择你喜欢的屏幕分辨率测试,这是特别有用的,它可以检查网站页面的布局。开发者也可以登录/responsive监测你的网站在不同的分辨率下显示。
BrowserStack是如何工作的
第一步你需要注册,BrowserStack是一个需要付费的服务,我认为是非常合理的定价,你可以得到一大堆更多的功能。 一旦你注册和登录,你就可以在仪表盘看到一些快速启动栏了~
你可以直接输入需要测试的网址,然后选择操作系统和浏览器,直接进行测试。
这里需要强调的是,你看到的测试页面,不是一个网页截图也不是一个假的进程。是可以直接访问的站点,包括菜单,按钮等等。也包括可以试用浏览器自带的开发工具,比如IE的F12,Chrome的开发工具。
所以你不仅能看到你的网页呈现在浏览器里的样子,也可以使用现有的工具来调试常见问题。很酷!
在本地使用BrowserStack
BrowserStack提供了一个隧道功能,允许您远程测试本地页面。它采用Java Applet作为代理基于云计算的服务,在您的目录或Web服务器。这意味着你将需要安装Java,而我更倾向于在这种情况下,不建议安装的Java浏览器插件,但是这是一个必要和有价值的。 在browserstack仪表板中,您应该会看到一个标题为“本地测试”的两个按钮标记为“Web隧道”和“命令行”。
“网络隧道”选项,利用了Java applet来建立您的计算机和远程服务之间的隧道。这可以在文件系统级别上,在那里你可以选择一个特定的目录您的网页或本地服务器的URL(例如:本地主机)。为了说明这一点,我已经安装了WAMP的我的电脑上有一个本地网络服务器,与BrowserStack使用。 WAMP的默认情况下,也可通过安装phpMyAdmin的:http://localhost:81/phpmyadmin/我使用端口81为不与另一个进程我运行冲突。点击“网络隧道”选项打开如下对话框让你知道程序加载:
因为Oracle工作在安全的Java上,尤其是他们的浏览器插件,你应该提示运行小程序。我的建议是绝不允许任何未签名的小程序,从一个网站到你的电脑上运行,所以我总是将我的Java安全性设置为“高”。还有一个选项,称为“非常高”,可以防止browserstack程序从远程连接。
一旦运行applet,你会出现一个对话框,询问您当地的服务器的地址或文件夹。
正如你可以看到,我进入我的本地URL,它检测到的端口号。如果您需要,您也可以使用SSL。在这里我能看到我的BrowserStack远程服务器上的本地副本的phpMyAdmin。
现在,如果你不想在浏览器或因某些原因不能使用Java小应用程序,您可以使用“命令行”选项,你需要下载一个。JAR文件称为通过命令行来建立连接:
java -jar BrowserStackTunnel.jar localhost,3000,0
在会是一个BrowserStack的访问键,你必须输入。一旦建立连接后,你再返回到仪表板,开始测试。就我个人而言,我更喜欢小程序的方法因为它很简单。
1.4、Sauce Labs【在线】
Sauce Labs是一个提供自动化功能测试的云测试服务公司。
其提供两种服务,Sauce Scout是手工测试的工具,用户可以选择操作系统和浏览器版本,然后就能拿到一台VM进行手工测试了;Sauce OnDemand是自动化测试服务,用户在本地写好脚本,然后脚本是运行在他们的云里面。
Sauce OnDemand:如果你之前写过Selenium【Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。】的测试脚本,那迁移到Sauce OnDemand的成本是很低的,只需要把本地的webdriver(接下来都会以自动化测试工具WebDriver做例子)改成他们的remote driver就ok了。我是直接用的他们提供的example脚本:/docs/ondemand/getting-started/env/python/se2/mac
跑完脚本以后看结果,这里才是重点。每跑一次任务,在他们的系统里面都会生成一个Job,这个Job所包含的信息相当详细:
Build,如果你是通过CI系统来发起一次自动化测试的话,可以把Build的版本号记到Job里面Tags,这次跑的是Smoke还是Full的测试呢?是一个RC版本还是Live版本Custom Data,以上简单的信息都满足不了你的需求,可以自己传一个JSON格式的对象进去
测试出错怎么办?一切都在云?
视频回放功能 – 这个太好了,可以看看失败的测试当时是怎么跑的Log – 每一个操作都有Log,用什么方法拿到一个元素,输入了些什么东西截图 – 某些操作会带有截图,也很有用
而且这些Log和Video都是可以下载的。
以上就是Sauce OnDemand的简单介绍,那可能有人会说,这样的功能,我自己的本地跑测试就可以了,为什么还要花钱搞到云里面去?把自动化测试并行起来!
假如执行1个自动化测试用例需要1分钟;覆盖10个平台+浏览器,串行执行就需要10分钟。假如并行执行,只需要1分钟就完成了。听起来很有吸引力吧。这里有一个用Python并行执行测试大概例子(不完整,没有真的调用测试,但是演示了如何进行并行):/511658更多其他语言的并行测试例子:/blog/index.php/tag/parallel-testing/
以上讲了那么多,貌似我说的是在测试“外网”站点啊!我不想先发布后测试,我要测试内网站点,怎么办?他们有个Sauce Connect可以搞定这个问题:) 另外还有一些API让用户获取测试结果。
总结:Sauce Labs提供了针对Selenium实施自动化测试的云服务,和别的云服务有点不一样,他们没有号称使用他们的服务可以降低成本
1.5、Browsershots【在线】
使用地址:/
这是一个在线测试工具,支持很多浏览器。
输入测试一下:
相对前几个测试工具,个人感觉这个显得稍微逊色了一些。