最近有测试Web的项目,合理的选取测试的浏览器是个重大问题,于是翻了几天资料,主要从以下几个方面来选择测试的浏览器:
1.浏览器的内核:使用到主流浏览器内核的浏览器需要测试
2.各浏览器在国内的市场占有率:主要参照了百度统计的数据
3.从项目需求角度出发选取各浏览器相应的版本
一、浏览器基础结构
(图片是网上找的,参考一下~)
- 用户界面 - 包括地址栏、后退/前进按钮、书签目录等,也就是除了用来显示你所请求页面的主窗口之外的其他部分。
- 浏览器引擎 - 用来查询及操作渲染引擎的接口。
- 渲染引擎 - 用来显示请求的内容,例如,如果请求内容为html,它负责解析html及css,并将解析后的结果显示出来。
- 网络 - 用来完成网络调用,例如http请求,它具有平台无关的接口,可以在不同平台上工作。
- UI后端 - 用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口。
- JS解释器 - 用来解释执行JS代码。
- 数据存储 - 属于持久层,浏览器需要在硬盘中保存类似cookie的各种数据,HTML5定义了web database技术,这是一种轻量级完整的客户端存储技术。
二、浏览器的内核
浏览器内核是浏览器的核心,英文名为“Rendering Engine”直译为“渲染引擎”,主要负责HTML、CSS的解析。所以浏览器内核也称为“排版引擎”或“解析引擎”。
目前主流的内核共有4种。如****:2013之前是5种,其中Presto内核是Opera15以前版本的内核,在2013年后就不再使用了)
1.Trident
主要代表浏览器:Internet Explorer, Microsoft Edge,2345加速浏览器,傲游浏览器,腾讯QQ浏览器、360浏览器、猎豹浏览器、世界之窗浏览器等。Trident内核最早在1997年被应用于IE4中,并一直沿用到IE11,其接口内核设计相当成熟,因此有许多采用IE内核的浏览器涌现。其中有不少浏览器的新版本采用了“双核”或者“多核”模式,其中一个是Trident内核,再加上另外一个其它的内核。
2.Gecko
使用Gecko内核的浏览器主要是Firefox。它的特点是代码完全公开,全世界的程序员都可以给它添加功能。因为其开源性质,受到了许多人的青睐,这也是它迅速占有市场的重要原因之一。Gecko内核另外一个优势是跨平台,能在Windows、BSD、Linux和Mac OS X等操作系统上运行。
3.Webkit
它是苹果公司自己的内核,也是Safari的内核。它的源码结构清晰、渲染速度极快,但对网页兼容性不高,会使一些编写不规范的网页无法正常显示。除了Safari使用Webkit内核外,Chrome、搜狗、猎豹等浏览也使用了Webkit内核。
4.Blink
Blink是一个由Google和Opera Software开发的浏览器内核,这个渲染引擎是Webkit中WebCore组件的一个分支,它从Webkit中直接复制了一个版本,去除了与Chromium无关的Ports,将代码结构重新整理,提高了可读性,在Chrome28及以后、Opera15及以后的浏览器都使用到了Blink。
以上是对目前主流内核的简单概括,如果需要详细了解的请自行Google~
三、部分浏览器内核及版本
下面是我自己参照Wiki百科整理的一些主流浏览器的内核以及版本发展史,多表格预警!
1.Internet Explorer
发行年份 |
发行版本 |
使用内核 |
2001-2004 |
IE6 |
Trident4.0 |
2005-2006 |
IE7 |
Trident4.0 |
2009 |
IE8 |
Trident4.0 |
2011 |
IE9 |
Trident5.0(使用全新JavaScript引擎“Chakra”) |
2011-2012 |
IE10 |
Trident6.0(使用全新JavaScript引擎“Chakra”) |
2013-2015 |
IE11 |
Trident7.0(使用全新JavaScript引擎“Chakra”) |
2.Microsoft Edge
发行年份 |
发行版本 |
使用内核 |
2015 |
Microsoft Edge |
Trident(EdgeHTML[排版引擎]、Chakra[JavaScript引擎]) |
3.2345加速浏览器
发行年份 |
发行版本 |
使用内核 |
2011-2016 |
2345王牌浏览器 |
|
2016 |
2345加速浏览器 |
最新版使用IE、Chrome内核 |
4.傲游浏览器
发行年份 |
发行版本 |
使用内核 |
2005 |
傲游1 |
Trident与Gecko |
2007 |
傲游2 |
Trident |
2010 |
傲游3 |
Trident与Webkit双核 |
2012 |
傲游Mac版 |
Webkit |
2012 |
傲游云浏览器 |
Trident与Webkit双核 |
5.腾讯浏览器
发行年份 |
发行版本 |
使用内核 |
2003-2009 |
腾讯TT、4.0 |
Trident |
2010 |
QQ浏览器5.0 |
Trident与Webkit双核 |
2012 |
QQ浏览器7.0 |
Trident |
2014 |
QQ浏览器8.0 |
Trident |
2015-至今 |
QQ浏览器9.0 |
ChromiumV43-53(Trident与Webkit双核) |
6.360浏览器
发行年份 |
发行版本 |
使用内核 |
2010-至今 |
360极速浏览器 |
Blink与Trident |
2008-至今 |
360安全浏览器 |
基于IE内核 |
|
360安全浏览器-国密专版 |
基于IE内核 |
|
360安全浏览器-抢票专版 |
基于IE内核 |
7.猎豹浏览器
发行年份 |
发行版本 |
使用内核 |
2012 |
猎豹1.0 |
Chromium17(Trident与Webkit双核) |
2012 |
猎豹2.0 |
Chromium21(Trident与Webkit双核) |
2013 |
猎豹3.0 |
Chromium21(Trident与Webkit双核) |
2013 |
猎豹4.0 |
Chromium21(Trident与Webkit双核) |
2015 |
猎豹极轻浏览器 |
基于IE内核 |
8.世界之窗浏览器
发行年份 |
发行版本 |
使用内核 |
2004 |
世界之窗1.0 |
|
2006 |
世界之窗2.0 |
|
2009-2012 |
世界之窗3 |
|
2012 |
世界之窗4.3 |
Chrome17 |
2012 |
世界之窗5 |
|
2013 |
世界之窗6.0 |
Chromium28 |
2016 |
世界之窗7.0 |
Chromium48 |
9.搜狗浏览器
发行年份 |
发行版本 |
使用内核 |
2015 |
搜狗浏览器6.0 |
IE及Chromium内核(Trident与Webkit双核) |
11.Firefox
发行年份 |
发行版本 |
使用内核 |
2014-2015 |
Firefox36 |
Gecko |
|
Firefox36 |
Gecko |
|
Firefox37 |
Gecko |
|
Firefox38 |
Gecko |
|
Firefox39 |
Gecko |
|
Firefox40 |
Gecko |
|
Firefox41 |
Gecko |
|
Firefox42 |
Gecko |
|
Firefox43 |
Gecko |
2015-2016 |
Firefox44 |
Gecko |
|
Firefox45 |
Gecko |
|
Firefox46 |
Gecko |
|
Firefox47 |
Gecko |
|
Firefox48 |
Gecko |
|
Firefox49 |
Gecko |
|
Firefox50 |
Gecko |
2016-2017 |
Firefox51 |
Gecko |
|
Firefox52 |
Gecko |
2017 |
Firefox53 |
Gecko |
|
Firefox54 |
Gecko |
|
Firefox55 |
Gecko |
|
Firefox56 |
Gecko |
|
Firefox57 |
Gecko |
|
Firefox58 |
Gecko |
|
Firefox59 |
Gecko |
12.Safari
发行年份 |
发行版本 |
使用内核 |
2010 |
Safari5 |
Webkit |
2012 |
Safari6 |
Webkit |
2013 |
Safari7 |
Webkit |
2014 |
Safari8 |
Webkit |
2015 |
Safari9 |
Webkit |
2016 |
Safari10 |
Webkit |
13.Google Chrome
发行年份 |
发行版本 |
使用内核 |
|
28以前 |
Webkit |
2013.7 |
28以后Blink |
Blink |
2013 |
Chrome29 |
Blink |
2013 |
Chrome30 |
Blink |
2013 |
Chrome31 |
Blink |
2014 |
Chrome32 |
Blink |
2014 |
Chrome33 |
Blink |
2014 |
Chrome34 |
Blink |
2014 |
Chrome35 |
Blink |
2014 |
Chrome36 |
Blink |
2014 |
Chrome37 |
Blink |
2014 |
Chrome38 |
Blink |
2014 |
Chrome39 |
Blink |
2015 |
Chrome40 |
Blink |
2015 |
Chrome41 |
Blink |
2015 |
Chrome42 |
Blink |
2015 |
Chrome43 |
Blink |
2015 |
Chrome44 |
Blink |
2015 |
Chrome45 |
Blink |
2015 |
Chrome46 |
Blink |
2015 |
Chrome47 |
Blink |
2016 |
Chrome48 |
Blink |
2016 |
Chrome49 |
Blink |
2016 |
Chrome50 |
Blink |
2016 |
Chrome51 |
Blink |
2016 |
Chrome52 |
Blink |
2016 |
Chrome53 |
Blink |
2016 |
Chrome54 |
Blink |
2016 |
Chrome55 |
Blink |
2017 |
Chrome56 |
Blink |
2017 |
Chrome57 |
Blink |
2017 |
Chrome58 |
Blink |
2017 |
Chrome59 |
Blink |
2017 |
Chrome60 |
Blink |
2017 |
Chrome61 |
Blink |
2017 |
Chrome62(最新稳定版本) |
Blink |
2017 |
Chrome63(最新测试版本) |
Blink |
2017 |
Chrome64(最新开发版本) |
Blink |
14.Opera
发行年份 |
发行版本 |
使用内核 |
2012 |
15以前(Presto) |
Presto |
2013 |
15以后(Blink) |
Blink |
2013 |
Opera15 |
Blink |
|
Opera16 |
Blink |
|
Opera17 |
Blink |
|
Opera18 |
Blink |
2014 |
Opera19 |
Blink |
|
Opera20 |
Blink |
|
Opera21 |
Blink |
|
Opera22 |
Blink |
|
Opera23 |
Blink |
|
Opera24 |
Blink |
|
Opera25 |
Blink |
|
Opera26 |
Blink |
2015 |
Opera27 |
Blink |
|
Opera28 |
Blink |
|
Opera29 |
Blink |
|
Opera30 |
Blink |
|
Opera31 |
Blink |
|
Opera32 |
Blink |
|
Opera33 |
Blink |
|
Opera34 |
Blink |
2016 |
Opera35 |
Blink |
|
Opera36 |
Blink |
|
Opera37 |
Blink |
|
Opera38 |
Blink |
|
Opera39 |
Blink |
|
Opera40 |
Blink |
|
Opera41 |
Blink |
|
Opera42 |
Blink |
2017 |
Opera43 |
Blink |
|
Opera44 |
Blink |
15.百度浏览器
发行年份 |
发行版本 |
使用内核 |
2011 |
V1 |
Blink与Trident |
2012 |
V2 |
Blink与Trident |
2012 |
V3 |
Blink与Trident |
2013 |
V4 |
Blink与Trident |
2013 |
V5 |
Blink与Trident |
2014 |
V6 |
Blink与Trident |
2014-2015 |
V7 |
Blink与Trident |
以上的统计主要以浏览器的大版本为主。
四、浏览器市场占有率
第一次写博客,不足之处还请各位大神指教~