專利名稱:用于處理網(wǎng)頁的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及網(wǎng)頁處理技術,更具體地,涉及一種用于對多個網(wǎng)頁渲染模式進行測試的方法和系統(tǒng)。
背景技術:
對于一個網(wǎng)頁應用程序,在開發(fā)測試過程中,常常需要模擬不同的顯示模式。例如,對于很多軟件來說,希望能夠滿足信息無障礙的要求。信息無障礙是指軟件可以提供包括殘疾人在內(nèi)的各類人群的用于獲取信息的正常使用。因此,對于這樣的網(wǎng)頁應用程序,在開發(fā)測試過程中,常常需要將計算機模擬成為殘障人士可以閱讀和獲取信 息的模式,在這些特殊的模式下,開發(fā)人員和測試人員要盡可能完整地保證其程序能夠被殘疾人所操作和獲取。在這一系列特殊模式中,包括對于視力的場景的模擬,這些模式將協(xié)助弱視、色盲、高度近視、老花眼等各種擁有視力障礙的人群比較完整和全面地獲取信息。在每一種特殊顯示模式下,都必須保證網(wǎng)頁程序的功能完整,信息都可以被獲取到。現(xiàn)有的通常做法是將計算機通過一系列環(huán)境參數(shù)的改變模擬出某一種特殊顯示場景后,將所有功能全部運行一遍,由人工進行功能驗證,確保對于期間出現(xiàn)的所有可讀信息都能夠正常地顯示在特殊顯示模式下。由于通常模擬此類特殊顯示模式都需要配置整個計算機環(huán)境,配置和切換過程相當耗時。并且,由于是整個系統(tǒng)的參數(shù)改變,所以在想對多個特殊顯示模式進行測試時,只能夠在各種場景期間不停地轉換,這個過程也是相當耗時的。對于特殊顯示模式下的功能驗證,需要在每一種模擬的場景下做一次全面的功能測試,這意味著,同樣的復雜的功能測試將會在各種模擬場景下重復地進行。另外,對于特殊顯示模式下信息完整性測試,測試人員需要記憶每一個步驟中所有網(wǎng)頁中將會出現(xiàn)的信息,然后切換到特殊顯示模式下進行信息驗證,隨著頁面信息復雜度的增加,光憑人工記憶測試,將會很容易導致測試失誤。因此,希望提供一種改進的能夠對不同的模擬顯示場景進行測試的方案。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供了一種用于處理網(wǎng)頁的方法,包括獲得所述網(wǎng)頁的一個主窗口的DOM內(nèi)容;根據(jù)至少一個預定渲染樣式以及所述主窗口的DOM內(nèi)容,生成對應于所述至少一個預定渲染樣式的DOM內(nèi)容;以及,在不同于主窗口的至少一個窗口渲染所述對應于所述至少一個預定渲染樣式的DOM內(nèi)容。根據(jù)本發(fā)明的另一個方面,提供了一種用于對網(wǎng)頁進行渲染的系統(tǒng),包括D0M內(nèi)容獲取裝置,被配置為獲得所述網(wǎng)頁的一個主窗口的DOM內(nèi)容;D0M內(nèi)容生成裝置,被配置為根據(jù)至少一個預定渲染樣式以及所述主窗口的DOM內(nèi)容,生成對應于所述至少一個預定渲染樣式的DOM內(nèi)容;以及,渲染裝置,被配置為在不同于主窗口的至少一個窗口渲染所述對應于所述至少一個預定渲染樣式的DOM內(nèi)容。
本發(fā)明從網(wǎng)頁最終顯示的輸入文檔對象模型(DOM)入手,針對網(wǎng)頁中出現(xiàn)的每一個節(jié)點進行統(tǒng)一的場景模擬,可以實現(xiàn)多個顯示模式的同時展現(xiàn),從而方便了測試人員對于信息完整性的檢測。同時,利用對于文檔對象模型(DOM)里的節(jié)點事件的偵聽,使得各種顯示場景下功能一致,使得測試人員只需在某種場景下做一次功能性檢測,就可以同時測試、驗證其余模擬場景的功能性測試,從而節(jié)省了大量的時間。
通過對附圖中本發(fā)明示例實施例方式的更詳細描述,本發(fā)明的上述、以及其它目的、特征和優(yōu)勢將變得更加明顯。圖I示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)100的框圖;圖2顯示了依據(jù)本發(fā)明的一個實施例的用于處理網(wǎng)頁的方法;圖3顯示了依據(jù)本發(fā)明的另一個實施例的用于處理網(wǎng)頁的方法;圖4顯示了依據(jù)本發(fā)明的一個實施例的通過多個渲染窗口來展現(xiàn)網(wǎng)頁的不同渲染模式的示意圖;以及圖5顯示了依據(jù)本發(fā)明的一個實施例的用于處理網(wǎng)頁的系統(tǒng)。
具體實施例方式以下參照按照本發(fā)明實施例的方法、系統(tǒng)描述本發(fā)明。所屬技術領域的技術人員知道,本發(fā)明的多個方面可以體現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的多個方面可以具體實現(xiàn)為以下形式,即,可以是完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統(tǒng)”的軟件部分與硬件部分的組合。此夕卜,本發(fā)明的多個方面還可以采取體現(xiàn)在一個或多個計算機可讀介質中的計算機程序產(chǎn)品的形式,該計算機可讀介質中包含計算機可用的程序碼。可以使用一個或多個計算機可讀的介質的任何組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限于——電的、磁的、光的、電磁的、紅外線的、或半導體的系統(tǒng)、裝置、器件或任何以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括以下有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任何合適的組合。在本文件的語境中,計算機可讀存儲介質可以是任何包含或存儲程序的有形的介質,該程序被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。計算機可讀的信號介質可包括在基帶中或者作為載波一部分傳播的、其中體現(xiàn)計算機可讀的程序碼的傳播的數(shù)據(jù)信號。這種傳播的信號可以采用多種形式,包括——但不限于——電磁信號、光信號或任何以上合適的組合。計算機可讀的信號介質可以是并非為計算機可讀存儲介質、但是能發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序的任何計算機可讀介質。計算機可讀介質上包含的程序代碼可以用任何適當?shù)慕橘|傳輸,包括——但不限于——無線、電線、光纜、RF等等,或者任何合適的上述組合。
計算機可讀介質上包含的程序代碼可以用任何適當?shù)慕橘|傳輸,包括一但不限于——無線、電線、光纜、RF等等,或者任何合適的上述組合。用于執(zhí)行本發(fā)明的操作的計算機程序碼,可以以一種或多種程序設計語言的任何組合來編寫,所述程序設計語言包括面向對象的程序設計語言-諸如Java、Smalltalk、C++之類,還包括常規(guī)的過程式程序設計語言-諸如”C”程序設計語言或類似的程序設計語言。程序碼可以完全地在用戶的計算上執(zhí)行、部分地在用戶的計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶的計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在后一種情形中,遠程計算機可以通過任何種類的網(wǎng)絡一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)——連接到用戶的計算機,或者,可以(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng))連接到外部計算機。以下參照按照本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明的多個方面。要明白的是,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提、供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得通過計算機或其它可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計算機程序指令存儲在能指令計算機或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計算機可讀介質中,這樣,存儲在計算機可讀介質中的指令產(chǎn)生一個包括實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means)的制造品。也可以把計算機程序指令加載到計算機或其它可編程數(shù)據(jù)處理裝置上,使得在計算機或其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而在計算機或其它可編程裝置上執(zhí)行的指令就提供實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。在描述本發(fā)明的具體實施例之前,先介紹一下文檔對象模型(DOM)。文檔對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴展置標語言的標準編程接口。DOM定義了一組與平臺和語言無關的接口,以便程序和腳本能夠動態(tài)地訪問和修改XML文檔內(nèi)容、結構和樣式,并將對應的文檔呈現(xiàn)為帶有元素、屬性和文本的樹結構(節(jié)點樹)。在DOM樹中,有一個根節(jié)點,所有其他的節(jié)點都是根節(jié)點的后代,其中的節(jié)點類型可以是元素、文本、屬性、注釋或其他。在應用過程中,基于DOM的HTML/XML分析器將一個HTML/XML文檔轉換成一棵DOM樹,應用程序通過對DOM樹的操作,來實現(xiàn)對HTML/XML文檔數(shù)據(jù)的操作。例如,利用D0M,開發(fā)人員可以動態(tài)地創(chuàng)建XML、遍歷文檔、增加/刪除/修改文檔內(nèi)容
坐寸ο下面將針對附圖具體描述依據(jù)本發(fā)明的實施例。圖I示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)100的框圖。如所示,計算機系統(tǒng)100可以包括CPU(中央處理單元)101、RAM(隨機存取存儲器)102、R0M(只讀存儲器)103、系統(tǒng)總線104、硬盤控制器105、鍵盤控制器106、串行接口控制器107、并行接口控制器108、顯示控制器109、硬盤110、鍵盤111、串行外部設備112、并行外部設備113和顯示器114。在這些設備中,與系統(tǒng)總線104耦合的有CPU 10URAM 102, ROM 103、硬盤控制器105、鍵盤控制器106、串行控制器107、并行控制器108和顯示控制器109。硬盤110與硬盤控制器105耦合,鍵盤111與鍵盤控制器106耦合,串行外部設備112與串行接口控制器107耦合,并行外部設備113與并行接口控制器108耦合,以及顯示器114與顯示控制器109耦合。應當理解,圖I所述的結構框圖僅僅為了示例的目的而示出的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設備。圖2顯示了依據(jù)本發(fā)明的一個實施例的用于對網(wǎng)頁內(nèi)容進行處理的方法。在圖2中,在步驟S210,獲得所述網(wǎng)頁的一個主窗口的DOM內(nèi)容。從瀏覽器獲得當前頁面的DOM內(nèi)容一般是通過JavaScript由瀏覽器提供的API得到的,也可以從Firefox的一些插件中的API直接獲得,比如FireBug。該DOM內(nèi)容是一個帶有元素、屬性和文本的樹結構,也即DOM樹。接著,在步驟S220,根據(jù)預定渲染樣式以及所述主窗口的DOM內(nèi)容,生成對應于所述預定渲染樣式的DOM內(nèi)容。其中,該渲染樣式可以是預先設定的,例如可以包括配置不同的層疊樣式表(CSS)樣式。根據(jù)需要測試的不同渲染場景,可以提供相應的CSS配置。在測試目標渲染場景的時候,可以通過JavaScript遍歷所有DOM內(nèi)的節(jié)點,將符合規(guī)則的CSS應用在相應的不同節(jié)點上,從而獲得對應于預定渲染樣式的DOM內(nèi)容。在步驟S230,在不同于主窗口的一個窗口渲染對應于預定渲染樣式的DOM內(nèi)容。從而,可以在該窗口中顯示出對應于該預定渲染樣式的DOM內(nèi)容。根據(jù)本發(fā)明的一個實施例,如果要在多個窗口中顯示不同的場景模擬,則在步驟S220,根據(jù)多個不同的渲染樣式,對DOM樹進行相應的修改,生成對應于多個不同窗口的DOM樹,并將其分別分發(fā)給多個不同的窗口,從而在該多個不同的窗口中渲染并顯示渲染后的DOM內(nèi)容。本領域技術人員可以知曉的是,窗口的顯示可以有不同方式。例如,可以將主窗口與其他窗口同時顯示,并在操作過程中進行比較,也可以在操作過程中通過窗口的切換分別顯示不同的窗口,從而分別查看不同的場景模擬。正如前面所介紹的,本發(fā)明可以根據(jù)需要測試的不同渲染場景提供相應的CSS配置。在測試目標渲染場景的時候,可以通過JavaScript遍歷所有DOM內(nèi)的節(jié)點,將符合規(guī)則的CSS應用在相應的不同節(jié)點上,然后交付給瀏覽器重新渲染成測試所需的最終顯示樣式。圖3顯示了依據(jù)本發(fā)明的另一個實施例的用于對網(wǎng)頁內(nèi)容進行處理的方法。根據(jù)該實施例,當主窗口的DOM內(nèi)容發(fā)生變化時,相應窗口中的顯示也會相應地得到同步。在步驟S310,監(jiān)視網(wǎng)頁的一個主窗口的DOM內(nèi)容的變化。根據(jù)本發(fā)明的一個實施例,可以通過在瀏覽器加載DOM樹的時候,加上一些由瀏覽器提供的事件觸發(fā)器來監(jiān)視DOM樹的變化。用戶能夠看到的界面是完全由DOM樹被瀏覽器渲染之后的結果。在渲染完畢后,如果用戶事件觸發(fā)了這些事件觸發(fā)器,就會回調事先定義好的方法,從而達到了監(jiān)視的效果。這里DOM樹的變化可以包括DOM樹的任意節(jié)點發(fā)生的變化。因此,一旦DOM樹被任何手段改變,包括某個節(jié)點的屬性發(fā)生變化,某個節(jié)點被刪除,某個節(jié)點被加入等等,我們就可以偵測到這個變化。在步驟S320,響應于主窗口的DOM內(nèi)容的變化,修改對應于預定渲染樣式的DOM內(nèi)容。根據(jù)本發(fā)明的一個實施例,可以在重新獲得變化后的主窗口的DOM內(nèi)容之后,根據(jù)預定 渲染樣式以及變化后的主窗口的DOM內(nèi)容,生成新的DOM內(nèi)容。根據(jù)本發(fā)明的另一實施例,也可以在當前的對應于預定渲染樣式的DOM內(nèi)容的基礎上,僅對對應于主窗口的DOM內(nèi)容變化的部分,進行修改,從而獲得更新后的對應于預定渲染樣式的DOM內(nèi)容。然后,在步驟S330,渲染對應于該預定渲染樣式的DOM內(nèi)容,從而可以在瀏覽器窗口中顯示對應于該預定渲染樣式的渲染后的DOM內(nèi)容。這樣,每當主操作窗口的DOM樹的內(nèi)容發(fā)生變化時,各個其他的窗口也會被重新渲染,以保持與主操作窗口的內(nèi)容同步。這樣,用戶就能夠通過只操作一個主操作窗口,并且只需要一次操作流程,就能夠查看和檢測其他模式的顯示內(nèi)容。圖4顯示了依據(jù)本發(fā)明的一個實施例的通過多個渲染窗口來展現(xiàn)網(wǎng)頁的不同渲染模式的示意圖。在所述實施例中,在瀏覽器環(huán)境提供對應于不同渲染顯示模式的多個窗口,例如沒有CSS時的顯示模式,各種高對比度模式等。在多個窗口中有一個為主操作窗口,用戶在主操作窗口進行各種操作。其他窗口通過復制主窗口的DOM內(nèi)容,并根據(jù)不同的渲染顯示模式對應的不同的渲染樣式,修改DOM內(nèi)容,并進行重新渲染,來展現(xiàn)網(wǎng)頁的不同渲染顯示模式。并且在主操作窗口的DOM樹發(fā)生變化時,各個其他的窗口也會被重新繪制,以保持與主操作窗口的內(nèi)容同步。其中,可以利用瀏覽器插件來監(jiān)聽主操作窗口的事件,并 且管理分發(fā)及渲染DOM內(nèi)容到其他各個窗口。需要指出的是,雖然這里以瀏覽器插件的形式給出了實施例的說明,但這里所給出的僅是一個示例性的實施例,本領域技術人員還可以采用其他的具體實現(xiàn)方式,例如,可以通過把這一插件固化在瀏覽器中作為瀏覽器的一個功能,從而在瀏覽器中直接帶有上述功能來實現(xiàn)本發(fā)明。下面將參考附圖5描述依據(jù)本發(fā)明的一個實施例的用于對網(wǎng)頁內(nèi)容進行處理的系統(tǒng)。所述系統(tǒng)可以包括DOM內(nèi)容獲取裝置520、D0M內(nèi)容生成裝置530、D0M內(nèi)容分發(fā)裝置540、渲染裝置550。為了說明起見,在圖5中也顯示了瀏覽器510,但該瀏覽器并不屬于本發(fā)明的系統(tǒng)的一部分。DOM內(nèi)容獲取裝置520被配置為獲得網(wǎng)頁的一個主窗口的DOM內(nèi)容。如前面所介紹的,從瀏覽器獲得當前頁面的DOM內(nèi)容可以通過JavaScript由瀏覽器提供的API得到,也可以從Firefox的一些插件中的API直接獲得。DOM內(nèi)容修改裝置530被配置為,根據(jù)至少一個預定渲染樣式以及主窗口的DOM內(nèi)容,生成對應于所述至少一個預定渲染樣式的DOM內(nèi)容。其中,該渲染樣式是預先設定的,例如可以包括配置不同的CSS樣式。根據(jù)需要測試的不同渲染場景,可以提供相應的CSS配置。在測試目標渲染場景的時候,可以通過JavaScript遍歷所有DOM內(nèi)的節(jié)點,將符合規(guī)則的CSS應用在相應的不同節(jié)點上,從而獲得對應于預定渲染樣式的DOM內(nèi)容。DOM內(nèi)容分發(fā)裝置540被配置為將生成的DOM樹分發(fā)給相應的窗口。渲染裝置550被配置為在不同于主窗口的至少一個窗口渲染對應于至少一個預定渲染樣式的DOM內(nèi)容,以便在該至少一個窗口中顯示所述渲染的DOM內(nèi)容。如果要在多個窗口中顯示不同的場景模擬,則在DOM內(nèi)容生成裝置530,根據(jù)多個不同的渲染樣式,對DOM樹進行相應的修改,并由DOM內(nèi)容分發(fā)裝置540將修改之后的多個DOM樹,分別分發(fā)給多個不同的窗口,從而在該多個不同的窗口中渲染并顯示渲染后的DOM內(nèi)容。根據(jù)本發(fā)明的一個實施例,該系統(tǒng)還可以包括一個渲染樣式管理裝置570,用于管理可提供渲染的樣式以及各個樣式具體渲染方式的相關信息。本領域技術人員可以了解,本發(fā)明并不限于采用渲染樣式管理裝置來提供上述信息,還可以采用本領域技術人員知曉的其他方式來提供渲染樣式以及各個渲染方式的相關信息。根據(jù)本發(fā)明的一個實施例,還可以通過一個配置信息管理裝置(圖中未示出)來管理該發(fā)明的運行設定,包括有多少個窗口,分別是哪些渲染模式等相關配置信息。配置信息管理模塊允許用戶選擇特定的顯示場景及其顯示設置,例如顏色方案等等。同樣,本發(fā)明并不限于采用配置信息管理裝置來提供上述信息,還可以采用本領域技術人員知曉的其他方式來提供相關配置信息。例如,如果想顯示MS Windows高對比模式,DOM內(nèi)容獲取裝置520將獲取的DOM樹發(fā)送給DOM內(nèi)容生成裝置530,DOM內(nèi)容生成裝置530采用JavaScript在每個節(jié)點上增加相關屬性,例如背景圖像可以為空。然后,DOM內(nèi)容分發(fā)裝置540將生成的DOM樹發(fā)送給瀏 覽器的彈出式窗口,來渲染HTML頁面并顯示。這樣,我們可以得到一個普通的HTML頁面以及一個具有相同內(nèi)容的高對比度的頁面根據(jù)本發(fā)明的一個實施例,該系統(tǒng)還可以包括一個監(jiān)視裝置580,該監(jiān)視裝置580被配置為監(jiān)視網(wǎng)頁的一個主窗口的DOM內(nèi)容的變化。根據(jù)本發(fā)明的一個實施例,可以通過在瀏覽器加載DOM樹的時候,加上一些由瀏覽器提供的事件觸發(fā)器來監(jiān)視DOM樹的變化。用戶能夠看到的界面是完全由DOM樹被瀏覽器渲染之后的結果。在渲染完畢后,用戶事件觸發(fā)了這些事件觸發(fā)器,就會回調我們事先定義好的方法,從而達到了監(jiān)視的效果。這里DOM樹的變化可以包括DOM樹的任意屬性發(fā)生的變化。因此,一旦DOM樹被任何手段改變,包括,某個節(jié)點的屬性發(fā)生變化,某個節(jié)點被刪除,某個節(jié)點被加入等等,我們就可以偵測到這個變化。DOM內(nèi)容生成裝置530響應于主窗口的DOM內(nèi)容的變化,修改對應于預定渲染樣式的DOM內(nèi)容。然后,渲染裝置重新渲染對應于該預定渲染樣式的DOM內(nèi)容。并且,在瀏覽器窗口中顯示對應于該預定渲染樣式的渲染后的DOM內(nèi)容。這樣,每當主操作窗口的DOM樹的內(nèi)容發(fā)生變化時,各個其他的窗口也會被重新渲染,以保持與主操作窗口的內(nèi)容同步。這樣,用戶就能夠通過只操作一個主操作窗口,并且只需要一次操作流程,就能夠查看和檢測其他模式的顯示內(nèi)容。例如,為了使得一個網(wǎng)頁的所有場景同步,當從瀏覽器獲得一個初始DOM樹時,本發(fā)明會采用JavaScript來監(jiān)視各種事件,當DOM樹被改變時,可以捕捉到這些變化。任何DOM樹節(jié)點的變化、包括屬性的變化、DOM節(jié)點的插入、刪除等等,都會被檢測到。在檢測到主操作窗口的DOM樹發(fā)生變化的情況下,重新獲得主操作窗口的DOM內(nèi)容,并把主操作窗口的DOM內(nèi)容傳遞給DOM內(nèi)容生成裝置540進行修改并由渲染裝置重新渲染。這樣,用戶不需要通過改變本地瀏覽器和系統(tǒng)配置就可以查看各種不同的渲染模式下的顯示結果。并且,當需要在不同渲染顯示模式下作比較時,本發(fā)明可以使用戶同時對比處于同一個網(wǎng)絡頁面狀態(tài)下的各種不同的顯示渲染模式。例如,當用戶準備實施網(wǎng)頁信息無障礙測試的時候,他可以在做功能測試的步驟中同時實施網(wǎng)頁信息無障礙的測試。當用戶需要查看和測試網(wǎng)頁的各個不同的渲染模式時,使用本發(fā)明能夠使原來需要重復多遍次的操作變?yōu)橹恍枰槐椴僮髁鞒叹湍芡瓿桑梢怨?jié)省大量的人員時間消耗。由于本發(fā)明是當DOM樹內(nèi)容變化時同步各個窗口的,所以可以對于鼠標熱點事件引起的內(nèi)容變化也能夠做很好的捕捉。換言之,只要主操作窗口的顯示發(fā)生了變化,本發(fā)明就會同步最新的內(nèi)容到各個子窗口展現(xiàn)各個模式的渲染內(nèi)容。
本發(fā)明是根據(jù)DOM內(nèi)容來進行同步渲染的,每個子窗口不會發(fā)送和接收網(wǎng)絡請求,以此來保證內(nèi)容的完全同步。所以本發(fā)明是一種通用的方法,可以應用于不同的網(wǎng)頁應用,包括最新的web2. O技術(例如do jo)制作的各種網(wǎng)頁,而不需要對每個項目做特殊的設定。本發(fā)明利用HTML和瀏覽器插件技術,從網(wǎng)頁最終顯示的輸入文檔對象模型(DOM)入手,針對網(wǎng)頁中出現(xiàn)的每一個節(jié)點進行統(tǒng)一的場景模擬,達到了多個特殊顯示模式的同時展現(xiàn)。方便了測試人員對于信息完整性的檢測,可以在不切換、不設置任何系統(tǒng)級別的參數(shù)的情況下,同時在多種特殊顯示模式之間進行對比、校驗,提高了效率,減少了失誤率。同時,利用對于文檔對象模型(DOM)里所有節(jié)點事件的偵聽,使得所有特殊顯示場景下功能的一致,實現(xiàn)了測試人員只需在某種場景下做一次功能性檢測,就可以同時測試,驗證其余特殊模擬場景的功能性測試,從而節(jié)省了大量的時間。雖然這里以網(wǎng)頁信息無障礙測試為例對本發(fā)明進行了說明,然而,本領域技術人 員可以知曉的是,本發(fā)明并不限于網(wǎng)頁信息的無障礙測試。任何需要對網(wǎng)頁的多個不同的顯示場景進行模擬的情況,都可以使用本發(fā)明。并且,雖然這里將本發(fā)明的系統(tǒng)描述為包括DOM內(nèi)容獲取裝置、DOM內(nèi)容生成裝置、DOM內(nèi)容分發(fā)裝置、渲染裝置等裝置,然而,本領域技術人員可以知曉的是,上述裝置可以采用通用的硬件裝置來實現(xiàn),也可以通過計算機程序來實現(xiàn),在這種情況下,這些裝置可以理解為是實現(xiàn)本發(fā)明的軟件功能模塊。附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。本文中所用的術語,僅僅是為了描述特定的實施例,而不意圖限定本發(fā)明。本文中所用的單數(shù)形式的“一”和“該”,旨在也包括復數(shù)形式,除非上下文中明確地另行指出。還要知道,“包含”一詞在本說明書中使用時,說明存在所指出的特征、整體、步驟、操作、單元和/或組件,但是并不排除存在或增加一個或多個其它特征、整體、步驟、操作、單元和/或組件,以及/或者它們的組合。以下的權利要求中的對應結構、材料、操作以及所有功能性限定的裝置(means)或步驟的等同替換,旨在包括任何用于與在權利要求中具體指出的其它單元相組合地執(zhí)行該功能的結構、材料或操作。所給出的對本發(fā)明的描述其目的在于示意和描述,并非是窮盡性的,也并非是要把本發(fā)明限定到所表述的形式。對于所屬技術領域的普通技術人員來說,在不偏離本發(fā)明范圍和精神的情況下,顯然可以作出許多修改和變型。對實施例的選擇和說明,是為了最好地解釋本發(fā)明的原理和實際應用,使所屬技術領域的普通技術人員能夠明了,本發(fā)明可以有適合所要的特定用途的具有各種改變的各種實施方式。
權利要求
1.一種用于處理網(wǎng)頁的方法,包括 獲得所述網(wǎng)頁的一個主窗口的文檔對象模型DOM內(nèi)容; 根據(jù)至少一個預定渲染樣式以及所述主窗口的DOM內(nèi)容,生成對應于所述至少一個預定渲染樣式的DOM內(nèi)容;以及 在不同于主窗口的至少一個窗口渲染所述對應于所述至少一個預定渲染樣式的DOM內(nèi)容。
2.如權利要求I所述的方法,獲得所述網(wǎng)頁的一個主窗口的DOM內(nèi)容進一步包括,響應于所述主窗口中顯示的網(wǎng)頁發(fā)生變化,獲得變化后的所述主窗口的DOM內(nèi)容。
3.如權利要求2所述的方法,生成對應于所述至少一個預定渲染樣式的DOM內(nèi)容進一步包括,響應于所述主窗口的DOM內(nèi)容發(fā)生變化,修改所述對應于所述至少一個預定渲染樣式的DOM內(nèi)容。
4.如權利要求I所述的方法,其中,進一步包括將所述對應于所述至少一個預定渲染樣式的DOM內(nèi)容分發(fā)給不同于主窗口的至少一個窗口。
5.如權利要求I所述的方法,其中,所述至少一個預定渲染樣式對應于至少一個特殊顯示模式。
6.一種用于對網(wǎng)頁進行渲染的系統(tǒng),包括 DOM內(nèi)容獲取裝置,被配置為獲得所述網(wǎng)頁的一個主窗口的文檔對象模型DOM內(nèi)容; DOM內(nèi)容生成裝置,被配置為根據(jù)至少一個預定渲染樣式以及所述主窗口的DOM內(nèi)容,生成對應于所述至少一個預定渲染樣式的DOM內(nèi)容;以及 渲染裝置,被配置為在不同于主窗口的至少一個窗口渲染所述對應于所述至少一個預定渲染樣式的DOM內(nèi)容。
7.如權利要求6所述的系統(tǒng),其中,DOM內(nèi)容獲取裝置響應于所述主窗口中顯示的網(wǎng)頁發(fā)生變化,獲得變化后的所述主窗口的DOM內(nèi)容。
8.如權利要求7所述的系統(tǒng),進一步包括,DOM內(nèi)容監(jiān)視裝置,被配置為監(jiān)視所述主窗口的DOM內(nèi)容的變化,其中,所述DOM內(nèi)容生成裝置進一步被配置為響應于所述主窗口的DOM內(nèi)容發(fā)生變化,修改所述對應于所述至少一個預定渲染樣式的DOM內(nèi)容。
9.如權利要求6所述的系統(tǒng),進一步包括DOM內(nèi)容分發(fā)裝置,被配置為將所述對應于所述至少一個預定渲染樣式的DOM內(nèi)容分發(fā)給不同于主窗口的至少一個窗口。
10.如權利要求6所述的系統(tǒng),其中,所述至少一個預定渲染樣式對應于至少一個特殊顯示模式。
全文摘要
本發(fā)明提供了一種用于對網(wǎng)頁進行渲染的方法和系統(tǒng),該方法包括獲得網(wǎng)頁的一個主窗口的DOM內(nèi)容;根據(jù)預定渲染樣式以及主窗口的DOM內(nèi)容,生成對應于預定渲染樣式的DOM內(nèi)容;以及,在不同于主窗口的窗口渲染對應于預定渲染樣式的DOM內(nèi)容。本發(fā)明利用DOM樹,針對網(wǎng)頁中出現(xiàn)的每一個節(jié)點進行統(tǒng)一的場景模擬,可以實現(xiàn)多個顯示模式的同時展現(xiàn),方便了測試人員對于信息完整性的檢測。
文檔編號G06F17/30GK102760139SQ201110110160
公開日2012年10月31日 申請日期2011年4月29日 優(yōu)先權日2011年4月29日
發(fā)明者施尉霽, 羅凌, 胡捷 申請人:國際商業(yè)機器公司