瀏覽器兼容性測(cè)試方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種瀏覽器兼容性測(cè)試方法及裝置。該瀏覽器兼容性測(cè)試方法包括步驟對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行預(yù)處理,獲取頁(yè)面代碼的類(lèi)型;根據(jù)頁(yè)面代碼的類(lèi)型獲取相應(yīng)的兼容性規(guī)則庫(kù);對(duì)頁(yè)面代碼進(jìn)行語(yǔ)法解析,獲取頁(yè)面代碼的語(yǔ)法樹(shù);以及根據(jù)兼容性規(guī)則庫(kù)以及語(yǔ)法樹(shù),對(duì)頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,從而實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)應(yīng)用的瀏覽器兼容性測(cè)試。本發(fā)明還涉及一種瀏覽器兼容性測(cè)試裝置。本發(fā)明的瀏覽器兼容性測(cè)試方法及裝置通過(guò)對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,實(shí)現(xiàn)瀏覽器的兼容性測(cè)試;整個(gè)測(cè)試過(guò)程操作簡(jiǎn)單,維護(hù)成本低。
【專利說(shuō)明】瀏覽器兼容性測(cè)試方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)測(cè)試領(lǐng)域,特別是涉及一種操作簡(jiǎn)單、維護(hù)成本低的瀏覽器兼容性測(cè)試方法及裝置。
【背景技術(shù)】
[0002]隨著社會(huì)的發(fā)展,越來(lái)越多的用戶通過(guò)各種自己喜愛(ài)的瀏覽器進(jìn)行網(wǎng)頁(yè)瀏覽。由于瀏覽器的種類(lèi)繁多,同時(shí)很多用戶一直使用非標(biāo)準(zhǔn)的舊版本的瀏覽器,造成網(wǎng)頁(yè)開(kāi)發(fā)工程師必須具備跨瀏覽器開(kāi)發(fā)的能力,其開(kāi)發(fā)的網(wǎng)頁(yè)應(yīng)用必須能兼容多種主流的瀏覽器,以確保網(wǎng)頁(yè)應(yīng)用在不同的瀏覽器環(huán)境中具有相同的外觀和功能。
[0003]因此開(kāi)發(fā)出來(lái)的網(wǎng)頁(yè)應(yīng)用需要在不同的瀏覽器中重復(fù)進(jìn)行測(cè)試,盡管某些自動(dòng)化測(cè)試工具可以一定程度上實(shí)現(xiàn)測(cè)試的自動(dòng)化,但仍需測(cè)試者在不同的瀏覽器環(huán)境中運(yùn)行自動(dòng)化測(cè)試工具。此外,測(cè)試者需要確定在不同瀏覽器上的測(cè)試結(jié)果之間的差異,這樣要求測(cè)試者具備較高的專業(yè)技能,以及需要付出大量的時(shí)間和精力。
[0004]故,有必要提供一種操作簡(jiǎn)單、維護(hù)成本低的瀏覽器兼容性測(cè)試方法及裝置,以解決現(xiàn)有技術(shù)所存在的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種基于網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼靜態(tài)分析的瀏覽器兼容性測(cè)試方法及裝置;整個(gè)測(cè)試過(guò)程操作簡(jiǎn)單,維護(hù)成本低,以解決現(xiàn)有的瀏覽器兼容性測(cè)試方法及裝置操作復(fù)雜以及維護(hù)成本高的技術(shù)問(wèn)題。
[0006]為解決上述問(wèn)題,本發(fā)明提供的技術(shù)方案如下:
[0007]本發(fā)明涉及一種瀏覽器兼容性測(cè)試方法,其包括步驟:
[0008]對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行預(yù)處理,獲取所述頁(yè)面代碼的類(lèi)型;
[0009]根據(jù)所述頁(yè)面代碼的類(lèi)型獲取相應(yīng)的兼容性規(guī)則庫(kù);
[0010]對(duì)所述頁(yè)面代碼進(jìn)行語(yǔ)法解析,獲取所述頁(yè)面代碼的語(yǔ)法樹(shù);以及
[0011]根據(jù)所述兼容性規(guī)則庫(kù)以及所述語(yǔ)法樹(shù),對(duì)所述頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,從而實(shí)現(xiàn)對(duì)所述網(wǎng)頁(yè)應(yīng)用的瀏覽器兼容性測(cè)試。
[0012]本發(fā)明還涉及一種瀏覽器兼容性測(cè)試裝置,其包括:
[0013]類(lèi)型獲取模塊,用于對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行預(yù)分析,獲取所述頁(yè)面代碼的類(lèi)型;
[0014]規(guī)則庫(kù)獲取模塊,用于根據(jù)所述頁(yè)面代碼的類(lèi)型獲取相應(yīng)的兼容性規(guī)則庫(kù);
[0015]語(yǔ)法樹(shù)獲取模塊,用于對(duì)所述頁(yè)面代碼進(jìn)行語(yǔ)法解析,獲取所述頁(yè)面代碼的語(yǔ)法樹(shù);以及
[0016]測(cè)試模塊,用于根據(jù)兼容性規(guī)則庫(kù)以及所述語(yǔ)法樹(shù),對(duì)所述頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,從而實(shí)現(xiàn)對(duì)所述網(wǎng)頁(yè)應(yīng)用的瀏覽器兼容性測(cè)試。
[0017]相較于現(xiàn)有技術(shù),本發(fā)明的瀏覽器兼容性測(cè)試方法及裝置通過(guò)對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,實(shí)現(xiàn)瀏覽器的兼容性測(cè)試;整個(gè)測(cè)試過(guò)程操作簡(jiǎn)單,維護(hù)成本低。解決了現(xiàn)有的瀏覽器兼容性測(cè)試方法及裝置操作復(fù)雜以及維護(hù)成本高的技術(shù)問(wèn)題。
【專利附圖】
【附圖說(shuō)明】
[0018]圖1為本發(fā)明的瀏覽器兼容性測(cè)試方法的優(yōu)選實(shí)施例的流程圖;
[0019]圖2為本發(fā)明的瀏覽器兼容性測(cè)試方法的優(yōu)選實(shí)施例的步驟101的詳細(xì)流程圖;
[0020]圖3為本發(fā)明的瀏覽器兼容性測(cè)試裝置的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
[0021]其中,附圖標(biāo)記說(shuō)明如下:
[0022]31、類(lèi)型獲取模塊;
[0023]32、規(guī)則庫(kù)獲取模塊;
[0024]33、語(yǔ)法樹(shù)獲取模塊;
[0025]34、測(cè)試模塊;
[0026]35、輸出模塊。
【具體實(shí)施方式】
[0027]以下各實(shí)施例的說(shuō)明是參考附加的圖式,用以例示本發(fā)明可用以實(shí)施的特定實(shí)施例。
[0028]請(qǐng)參照?qǐng)D1,圖1為本發(fā)明的瀏覽器兼容性測(cè)試方法的優(yōu)選實(shí)施例的流程圖。該瀏覽器兼容性測(cè)試方法包括:
[0029]步驟101,對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行預(yù)處理,獲取頁(yè)面代碼的類(lèi)型;
[0030]步驟102,根據(jù)頁(yè)面代碼的類(lèi)型獲取相應(yīng)的兼容性規(guī)則庫(kù);
[0031]步驟103,對(duì)頁(yè)面代碼進(jìn)行語(yǔ)法解析,獲取頁(yè)面代碼的語(yǔ)法樹(shù);
[0032]步驟104,根據(jù)兼容性規(guī)則庫(kù)以及語(yǔ)法樹(shù),對(duì)頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,從而實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)應(yīng)用的瀏覽器兼容性測(cè)試;
[0033]步驟105,將靜態(tài)測(cè)試的結(jié)果輸出;
[0034]本優(yōu)選實(shí)施例的瀏覽器兼容性測(cè)試方法結(jié)束于步驟105。
[0035]下面詳細(xì)說(shuō)明本優(yōu)選實(shí)施例的瀏覽器兼容性測(cè)試方法的各步驟的具體流程。
[0036]在步驟101中,對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行預(yù)處理,獲取頁(yè)面代碼的類(lèi)型。具體的流程如圖2所示,圖2為本發(fā)明的瀏覽器兼容性測(cè)試方法的優(yōu)選實(shí)施例的步驟101的詳細(xì)流程圖。
[0037]首先,對(duì)頁(yè)面應(yīng)用的頁(yè)面代碼進(jìn)行詞法分析,獲取頁(yè)面代碼的記號(hào)(Token)序列。這里的記號(hào)為一個(gè)字符串,是構(gòu)成源代碼的最小單元,可使用詞法分析器進(jìn)行詞法分析。詞法分析器從左到右一個(gè)字符一個(gè)字符地讀取頁(yè)面應(yīng)用的頁(yè)面代碼,即對(duì)構(gòu)成頁(yè)面代碼的字符流進(jìn)行掃描,然后根據(jù)構(gòu)成規(guī)則識(shí)別記號(hào)(token),最終得到頁(yè)面代碼的記號(hào)序列。
[0038]隨后根據(jù)頁(yè)面應(yīng)用的頁(yè)面代碼的記號(hào)序列,獲取頁(yè)面代碼的類(lèi)型,具體為:獲取記號(hào)序列中的第一個(gè)記號(hào),如第一個(gè)記號(hào)為“〈”,則判斷頁(yè)面代碼的類(lèi)型為HTML (超文本標(biāo)記語(yǔ)言,Hypertext Markup Language)類(lèi)型(HTML的頁(yè)面代碼一般以“〈”字符開(kāi)始);如第一個(gè)記號(hào)為“ 或“[”,則判斷頁(yè)面代碼的類(lèi)型為JSON (JavaScript Object Notation)類(lèi)型(JS0N的頁(yè)面代碼一般以或“[”字符開(kāi)始);如第一個(gè)記號(hào)為,,或“:,,,則判斷頁(yè)面代碼的類(lèi)型為CSS (Cascading Style Sheets,層疊樣式表單)類(lèi)型(CSS的頁(yè)面代碼一般以”或“:”字符開(kāi)始);否則判斷頁(yè)面代碼的類(lèi)型為JavaScript類(lèi)型。在本步驟中通過(guò)頁(yè)面代碼的預(yù)定義的語(yǔ)法特征判定該代碼的類(lèi)型,上述僅為舉例,使用其他通過(guò)頁(yè)面代碼的語(yǔ)法特性判定代碼的類(lèi)型的方法均屬于本發(fā)明的保護(hù)范圍。
[0039]隨后來(lái)到步驟102。
[0040]在步驟102中,根據(jù)頁(yè)面代碼的類(lèi)型獲取相應(yīng)的兼容性規(guī)則庫(kù),由于這里的兼容性規(guī)則庫(kù)是根據(jù)對(duì)頁(yè)面代碼進(jìn)行兼容性判斷的多個(gè)正則表達(dá)式和/或多個(gè)正則表達(dá)式之間的邏輯判斷關(guān)系,使用文本格式的json( (JavaScript Object Notation)文件進(jìn)行創(chuàng)建,不同的頁(yè)面代碼類(lèi)型均具有相應(yīng)的兼容性規(guī)則庫(kù)。在本步驟中選定相應(yīng)的兼容性規(guī)則庫(kù)。
[0041]隨后來(lái)到步驟103。
[0042]在步驟103中,對(duì)頁(yè)面代碼進(jìn)行語(yǔ)法解析,獲取頁(yè)面代碼的語(yǔ)法樹(shù)。這里的語(yǔ)法分析是在詞法分析的基礎(chǔ)上將記號(hào)序列組合成各類(lèi)語(yǔ)法短語(yǔ),如“程序”、“語(yǔ)句”以及“表達(dá)式”等??墒褂米陨舷蛳滤惴麅?yōu)先的算法實(shí)現(xiàn)的語(yǔ)法分析器進(jìn)行語(yǔ)法分析。不同類(lèi)型的頁(yè)面代碼使用相應(yīng)的語(yǔ)法分析器對(duì)其進(jìn)行語(yǔ)法分析,從而可獲取各種頁(yè)面代碼的語(yǔ)法樹(shù)。語(yǔ)法樹(shù)的具體獲取算法為本領(lǐng)域的現(xiàn)有算法,在這里不做詳細(xì)介紹。
[0043]隨后來(lái)到步驟104。
[0044]在步驟104中,根據(jù)兼容性規(guī)則庫(kù)以及語(yǔ)法樹(shù)對(duì)相應(yīng)的頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試。其中相應(yīng)的兼容性規(guī)則庫(kù)在步驟102中獲取,頁(yè)面代碼的語(yǔ)法樹(shù)在步驟103中獲取。
[0045]具體的兼容性規(guī)則庫(kù)中的判斷規(guī)則可以為:
[0046]如有多個(gè)正則表達(dá)式進(jìn)行兼容性判斷,正則表達(dá)式之間可使用“或”邏輯、“與”邏輯或“非與”邏輯等。其中“或”邏輯是指多個(gè)正則表達(dá)式中有至少一個(gè)不匹配,則認(rèn)為兼容性有問(wèn)題,即具有兼容性的頁(yè)面代碼需要匹配所有的正則表達(dá)式?!芭c”邏輯是指多個(gè)正則表達(dá)式全部不匹配,才認(rèn)為兼容性有問(wèn)題,即部分正則表達(dá)式匹配的頁(yè)面代碼也是具有兼容性的。“非與”邏輯是指多個(gè)正則表達(dá)式部分不匹配,則認(rèn)為兼容性有問(wèn)題,即全部正則表達(dá)式均匹配的頁(yè)面代碼或全部表達(dá)式均不匹配的頁(yè)面代碼是具有兼容性的。其中“非與”邏輯一般用在某段代碼A可能在特定瀏覽器中不兼容,但是如網(wǎng)頁(yè)代碼中同時(shí)具有代碼B可以克服該不兼容的問(wèn)題,因此代碼A和代碼B同時(shí)出現(xiàn),或代碼A和代碼B同時(shí)不出現(xiàn)的網(wǎng)頁(yè)代碼均是具有兼容性的。
[0047]如使用單獨(dú)的正則表達(dá)式進(jìn)行兼容性判斷,則在正則表達(dá)式中可使用包含判斷、比較判斷以及替換操作等。其中包含判斷用于根據(jù)語(yǔ)法樹(shù)判斷相關(guān)代碼的父子關(guān)系;比較判斷用于判斷相關(guān)代碼中的某個(gè)屬性值的大??;而替換操作用于使用上一個(gè)正則表達(dá)式的判斷結(jié)果替換正則表達(dá)式中的某個(gè)變量,以便進(jìn)行進(jìn)一步的兼容性判斷。
[0048]當(dāng)然具體的判斷規(guī)則包括但不限于上面舉例的這些,也可采用其他的判斷規(guī)則,并可對(duì)規(guī)則進(jìn)行添加、刪除以及修改,因此判斷規(guī)則的具體設(shè)定并不影響本發(fā)明的保護(hù)范圍。在本步驟中可根據(jù)頁(yè)面代碼的語(yǔ)法樹(shù)對(duì)頁(yè)面代碼中的具體代碼進(jìn)行分類(lèi),再使用兼容性規(guī)則庫(kù)中相應(yīng)的規(guī)則對(duì)頁(yè)面代碼進(jìn)行靜態(tài)的兼容性測(cè)試,這樣可大大縮短頁(yè)面代碼靜態(tài)兼容性測(cè)試的測(cè)試時(shí)間。
[0049]隨后來(lái)到步驟105。
[0050]在步驟105中,測(cè)試系統(tǒng)將靜態(tài)測(cè)試的結(jié)果輸出,結(jié)果包括但不限于問(wèn)題代碼的位置、原因以及對(duì)應(yīng)的兼容性規(guī)則庫(kù)中的相關(guān)判斷規(guī)則。這樣技術(shù)人員可以根據(jù)該輸出結(jié)果對(duì)頁(yè)面應(yīng)用的非兼容部分進(jìn)行修改,使之符合兼容性規(guī)則庫(kù)中的相關(guān)判斷規(guī)則,從而使該頁(yè)面應(yīng)用可兼容于各種瀏覽器。
[0051]本發(fā)明還涉及一種瀏覽器兼容性測(cè)試裝置,請(qǐng)參照?qǐng)D3,圖3為本發(fā)明的瀏覽器兼容性測(cè)試裝置的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖。該瀏覽器兼容性測(cè)試裝置包括類(lèi)型獲取模塊31、規(guī)則庫(kù)獲取模塊32、語(yǔ)法樹(shù)獲取模塊33、測(cè)試模塊34以及輸出模塊35。類(lèi)型獲取模塊31用于對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行預(yù)處理,獲取所述頁(yè)面代碼的類(lèi)型;規(guī)則庫(kù)獲取模塊32用于根據(jù)頁(yè)面代碼的類(lèi)型獲取相應(yīng)的兼容性規(guī)則庫(kù);語(yǔ)法樹(shù)獲取模塊33用于對(duì)頁(yè)面代碼進(jìn)行語(yǔ)法解析,獲取頁(yè)面代碼的語(yǔ)法樹(shù);測(cè)試模塊34用于根據(jù)兼容性規(guī)則庫(kù)以及語(yǔ)法樹(shù),對(duì)頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,從而實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)應(yīng)用的瀏覽器兼容性測(cè)試;輸出模塊35用于將靜態(tài)測(cè)試的結(jié)果輸出。
[0052]本優(yōu)選實(shí)施例的瀏覽器兼容性測(cè)試裝置使用時(shí),首先類(lèi)型獲取模塊31的詞法分析單元對(duì)頁(yè)面應(yīng)用的頁(yè)面代碼進(jìn)行詞法分析,獲取頁(yè)面代碼的記號(hào)序列;類(lèi)型獲取模塊31的類(lèi)型獲取單元根據(jù)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼的記號(hào)序列,獲取頁(yè)面代碼的類(lèi)型。具體為:獲取所述記號(hào)序列的第一個(gè)記號(hào);如第一個(gè)記號(hào)為“〈”,則判斷頁(yè)面代碼的類(lèi)型為HTML類(lèi)型;如第一個(gè)記號(hào)為“ 或“[”,則判斷頁(yè)面代碼的類(lèi)型為JSON類(lèi)型;如第一個(gè)記號(hào)為“O”、
”或“:”,則判斷頁(yè)面代碼的類(lèi)型為CSS類(lèi)型;否則判斷頁(yè)面代碼的類(lèi)型為JavaScript 類(lèi)型。 [0053]隨后規(guī)則庫(kù)獲取模塊32根據(jù)頁(yè)面代碼的類(lèi)型獲取相應(yīng)的兼容性規(guī)則庫(kù);語(yǔ)法樹(shù)獲取模塊33對(duì)頁(yè)面代碼進(jìn)行語(yǔ)法解析,獲取頁(yè)面代碼的語(yǔ)法樹(shù);然后測(cè)試模塊34根據(jù)兼容性規(guī)則庫(kù)以及語(yǔ)法樹(shù)對(duì)相應(yīng)的頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,其中兼容性規(guī)則庫(kù)根據(jù)對(duì)頁(yè)面代碼進(jìn)行兼容性判斷的多個(gè)正則表達(dá)式和/或多個(gè)正則表達(dá)式之間的邏輯判斷關(guān)系進(jìn)行創(chuàng)建;最后輸出模塊35將靜態(tài)測(cè)試的結(jié)果輸出。
[0054]本優(yōu)選實(shí)施例的瀏覽器兼容性測(cè)試裝置的具體工作原理與上述的瀏覽器兼容性測(cè)試方法的優(yōu)選實(shí)施例中的描述相同或相似,具體可參見(jiàn)上述瀏覽器兼容性測(cè)試方法的優(yōu)選實(shí)施例中的相關(guān)描述。
[0055]下面使用一段網(wǎng)頁(yè)應(yīng)用的代碼對(duì)本發(fā)明的瀏覽器兼容性測(cè)試方法及裝置的具體使用流程進(jìn)行說(shuō)明。
[0056]具體的網(wǎng)頁(yè)代碼如下:
[0057]
【權(quán)利要求】
1.一種瀏覽器兼容性測(cè)試方法,其特征在于,包括步驟: 對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行預(yù)處理,獲取所述頁(yè)面代碼的類(lèi)型; 根據(jù)所述頁(yè)面代碼的類(lèi)型獲取相應(yīng)的兼容性規(guī)則庫(kù); 對(duì)所述頁(yè)面代碼進(jìn)行語(yǔ)法解析,獲取所述頁(yè)面代碼的語(yǔ)法樹(shù);以及根據(jù)所述兼容性規(guī)則庫(kù)以及所述語(yǔ)法樹(shù),對(duì)所述頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,從而實(shí)現(xiàn)對(duì)所述網(wǎng)頁(yè)應(yīng)用的瀏覽器兼容性測(cè)試。
2.根據(jù)權(quán)利要求1所述的瀏覽器兼容性測(cè)試方法,其特征在于,所述瀏覽器兼容性測(cè)試方法還包括步驟: 根據(jù)對(duì)所述頁(yè)面代碼進(jìn)行兼容性判斷的多個(gè)正則表達(dá)式和/或所述多個(gè)正則表達(dá)式之間的邏輯判斷關(guān)系,使用文本格式的json文件創(chuàng)建所述兼容性規(guī)則庫(kù)。
3.根據(jù)權(quán)利要求1所述的瀏覽器兼容性測(cè)試方法,其特征在于,所述對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行預(yù)分析,獲取所述頁(yè)面代碼的類(lèi)型的步驟包括: 對(duì)所述頁(yè)面應(yīng)用的頁(yè)面代碼進(jìn)行詞法分析,獲取所述頁(yè)面代碼的記號(hào)序列;以及 根據(jù)所述網(wǎng)頁(yè)應(yīng) 用的頁(yè)面代碼的記號(hào)序列,獲取所述頁(yè)面代碼的類(lèi)型。
4.根據(jù)權(quán)利要求3所述的瀏覽器兼容性測(cè)試方法,其特征在于,所述根據(jù)所述網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼的記號(hào)序列,獲取所述頁(yè)面代碼的類(lèi)型的步驟包括: 獲取所述記號(hào)序列的第一個(gè)記號(hào); 如所述第一個(gè)記號(hào)為“〈”,則判斷所述頁(yè)面代碼的類(lèi)型為HTML類(lèi)型; 如所述第一個(gè)記號(hào)為“ {或“[”,則判斷所述頁(yè)面代碼的類(lèi)型為JSON類(lèi)型; 如所述第一個(gè)記號(hào)為”或“:”,則判斷所述頁(yè)面代碼的類(lèi)型為CSS類(lèi)型; 否則判斷所述頁(yè)面代碼的類(lèi)型為JavaScript類(lèi)型。
5.根據(jù)權(quán)利要求1所述的瀏覽器兼容性測(cè)試方法,其特征在于,所述瀏覽器兼容性測(cè)試方法還包括步驟: 將所述靜態(tài)測(cè)試的結(jié)果輸出。
6.一種瀏覽器兼容性測(cè)試裝置,其特征在于,包括: 類(lèi)型獲取模塊,用于對(duì)網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼進(jìn)行預(yù)處理,獲取所述頁(yè)面代碼的類(lèi)型; 規(guī)則庫(kù)獲取模塊,用于根據(jù)所述頁(yè)面代碼的類(lèi)型獲取相應(yīng)的兼容性規(guī)則庫(kù); 語(yǔ)法樹(shù)獲取模塊,用于對(duì)所述頁(yè)面代碼進(jìn)行語(yǔ)法解析,獲取所述頁(yè)面代碼的語(yǔ)法樹(shù);以及 測(cè)試模塊,用于根據(jù)兼容性規(guī)則庫(kù)以及所述語(yǔ)法樹(shù),對(duì)所述頁(yè)面代碼進(jìn)行靜態(tài)測(cè)試,從而實(shí)現(xiàn)對(duì)所述網(wǎng)頁(yè)應(yīng)用的瀏覽器兼容性測(cè)試。
7.根據(jù)權(quán)利要求6所述的瀏覽器兼容性測(cè)試裝置,其特征在于,根據(jù)對(duì)所述頁(yè)面代碼進(jìn)行兼容性判斷的多個(gè)正則表達(dá)式和/或所述多個(gè)正則表達(dá)式之間的邏輯判斷關(guān)系,使用文本格式的json文件創(chuàng)建所述兼容性規(guī)則庫(kù)。
8.根據(jù)權(quán)利要求6所述的瀏覽器兼容性測(cè)試裝置,其特征在于,所述類(lèi)型獲取模塊包括: 詞法分析單元,用于對(duì)所述頁(yè)面應(yīng)用的頁(yè)面代碼進(jìn)行詞法分析,獲取所述頁(yè)面代碼的記號(hào)序列;以及類(lèi)型獲取單元,用于根據(jù)所述網(wǎng)頁(yè)應(yīng)用的頁(yè)面代碼的記號(hào)序列,獲取所述頁(yè)面代碼的類(lèi)型。
9.根據(jù)權(quán)利要求8所述的瀏覽器兼容性測(cè)試裝置,其特征在于,所述類(lèi)型獲取單元具體用于: 獲取所述記號(hào)序列的第一個(gè)記號(hào); 如所述第一個(gè)記號(hào)為“〈”,則判斷所述頁(yè)面代碼的類(lèi)型為HTML類(lèi)型; 如所述第一個(gè)記號(hào)為“ {或“[”,則判斷所述頁(yè)面代碼的類(lèi)型為JSON類(lèi)型; 如所述第一個(gè)記號(hào)為”或“:”,則判斷所述頁(yè)面代碼的類(lèi)型為CSS類(lèi)型; 否則判斷所述頁(yè)面代碼的類(lèi)型為JavaScript類(lèi)型。
10.根據(jù)權(quán)利要求6所述的瀏覽器兼容性測(cè)試裝置,其特征在于,所述瀏覽器兼容性測(cè)試裝置還包括: 輸出模塊,用于將所述靜態(tài)測(cè)試的結(jié)果輸出。
【文檔編號(hào)】G06F11/36GK103942137SQ201310025121
【公開(kāi)日】2014年7月23日 申請(qǐng)日期:2013年1月23日 優(yōu)先權(quán)日:2013年1月23日
【發(fā)明者】符陽(yáng)輝 申請(qǐng)人:騰訊科技(深圳)有限公司