瀏覽器在web系統中的乙個非常重要的組成部分,它關係到軟體產品最終的展現形式,直接與使用者打交道。同乙個web頁面在不同的瀏覽器上可能有不同的效果,而使用者也有各不相同的使用瀏覽器的習慣,既有使用主流瀏覽器的也有使用非主流的(比如作者,用的是opera,碰到過很多網頁都有相容性的問題……)所以,為了保證我們的軟體產品能夠面向大多數的使用者,瀏覽器的相容性測試
在web測試
中佔據了十分重要的作用。
現在市面上的瀏覽器種類可謂玲琅滿目,有大家所熟知的ie、firefox、chrome、傲遊、360
安全瀏覽器、搜狗瀏覽器等等,也有一些鮮為人知的瀏覽器,這麼多的種類如果每一種都需要進行相容性測試那豈不是要**身亡了?
其實,看似有那麼多的瀏覽器,但都可以根據瀏覽器的核心進行劃分。所謂的瀏覽器的核心,其實就是渲染引擎。我們評價乙個瀏覽器的好環,也主要是在對瀏覽器的渲染引擎做評價。我們可以看到,雖然每家瀏覽器廠商生產的瀏覽器功能都大同小異,都可以瀏覽網頁,但是處理速度不一樣,並且對標準的支援也不盡相同,其根本原因就是因為渲染引擎技術的不同。
根據當前市面上比較流行的幾種瀏覽器核心來劃分的話基本可以分成四大陣營:
1、trident
trident又稱為mshtml,也就是ie的核心,是目前網際網路
上最流行的、使用者數最廣的渲染引擎,但是這幾年ie的市場份額正在逐漸被firefox和chrome所蠶食。trident核心的特點是相容性強,像各大銀行的網上銀行的操作一般都優先支援ie,其他瀏覽器基本就靠邊站了。
2、gecko
gecko是套開放源**的、以c++編寫的渲染引擎。gecko是跨平台的,能在microsoftwindows
、linux
和mac os x等主要作業系統
上執行。它是最流行的排版引擎之一,其流行程度僅次於trident。
典型代表:firefox(火狐)、mozilla、網景(6~9)、minimo、......
3、webkit
khtml,是html網頁排版引擎之一,由kde所開發。khtml擁有速度快捷的優點,但對錯誤語法的容忍度則比mozilla產品所使用的gecko引擎小。蘋果
電腦於2023年採納了khtml,作為開發safari瀏覽器之用。webcore及webkit引擎均是khtml的衍生產品;webkit是mac os x v10.3及以上版本所包含的軟體框架,webkit是mac os x的safari網頁瀏覽器的基礎。
典型代表:safari、google
chrome、konqueror、......
p.s. 現在國內比較流行的雙核瀏覽器,一般都是採用了trident/webkit的核心,像搜狗瀏覽器、360安全瀏覽器等,乙個用於滿足支援大多數網頁的需求(比如支付網銀),乙個用於極速瀏覽。
4、presto
presto是乙個由opera software開發的瀏覽器排版引擎,它取代了舊版opera中所使用的elektra排版引擎(opera 7.0以下版本,從7.0版本開始使用presto),包括加入動態功能,例如網頁或其部分可隨著dom及script語法的事件而重新排版。
典型代表:opera、任天堂ds瀏覽器
根據瀏覽器核心劃分完種類之後,然後根據需求從每個陣營裡挑出一到兩個最典型的代表出來,再跟作業系統和解析度這兩個因素排列組合在一起,篩選出最後的web相容性測試環境矩陣。這樣的話就不需要每個瀏覽器都去測一遍,不僅減少了工作
量,又能有效地保證不同瀏覽器的覆蓋度。
最後,我們來看一下一張2023年1月全球主流瀏覽器市場份額排行圖:
可以看到,ie仍然佔據著半壁江山,ff和chrome緊隨其後,基本形成三足鼎立的格局。ie有點像曹魏,挾天子以令諸侯,擁有絕對壟斷地位;ff有點像孫吳,始終穩步發展;chrome似蜀漢,拿荊州、奪西川、佔漢中,發展迅猛。。。。我個人比較看好chrome,在接下來的幾年裡趕超ff應該不難。同時也希望opera也能夠有所發展,佔據一席之地!
瀏覽器相容性測試
瀏覽器相容性問題又被稱為網頁或者 相容性問題,指不同的瀏覽器對同一段 有不同的解析,造成頁面顯示效果不統一的情況。產生瀏覽器相容性問題的原因 不同的瀏覽器使用核心及所支援的html等網頁語言標準不同,以及使用者客戶端的環境不同。核心 決定了瀏覽器如何顯示網頁的內容以及頁面的格式資訊 常見瀏覽器 fi...
瀏覽器相容性測試
瀏覽器最重要或者說核心的部分是 rendering engine 可大概譯為 解釋引擎 或者 渲染引擎 不過我們一般習慣將之稱為 瀏覽器核心 不同的瀏覽器核心對網頁編寫語法的解釋也有不同,因此同一網頁在不同的核心的瀏覽器裡的渲染 顯示 效果也可能不同,這也是前端專案需要在不同核心的瀏覽器中測試網頁顯...
瀏覽器相容性測試
測試web頁面在不同瀏覽器的介面是否一致 a 介面是否正常載入 b 介面的css樣式是否顯示完全 c 文字的統一性 d 排版是否整齊一致 e 資料是否正確 f 特效是否正常顯示等 測試web頁面在不同瀏覽器的易用性 易於使用 是否一致和正常 a 介面中的所有控制項是否能正常顯示和使用 b 提示資訊是...