两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于處理網(wǎng)頁的方法和系統(tǒng)的制作方法

文檔序號(hào):6423331閱讀:127來源:國知局
專利名稱:用于處理網(wǎng)頁的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)頁處理技術(shù),更具體地,涉及一種用于對(duì)多個(gè)網(wǎng)頁渲染模式進(jìn)行測(cè)試的方法和系統(tǒng)。
背景技術(shù)
對(duì)于一個(gè)網(wǎng)頁應(yīng)用程序,在開發(fā)測(cè)試過程中,常常需要模擬不同的顯示模式。例如,對(duì)于很多軟件來說,希望能夠滿足信息無障礙的要求。信息無障礙是指軟件可以提供包括殘疾人在內(nèi)的各類人群的用于獲取信息的正常使用。因此,對(duì)于這樣的網(wǎng)頁應(yīng)用程序,在開發(fā)測(cè)試過程中,常常需要將計(jì)算機(jī)模擬成為殘障人士可以閱讀和獲取信 息的模式,在這些特殊的模式下,開發(fā)人員和測(cè)試人員要盡可能完整地保證其程序能夠被殘疾人所操作和獲取。在這一系列特殊模式中,包括對(duì)于視力的場(chǎng)景的模擬,這些模式將協(xié)助弱視、色盲、高度近視、老花眼等各種擁有視力障礙的人群比較完整和全面地獲取信息。在每一種特殊顯示模式下,都必須保證網(wǎng)頁程序的功能完整,信息都可以被獲取到?,F(xiàn)有的通常做法是將計(jì)算機(jī)通過一系列環(huán)境參數(shù)的改變模擬出某一種特殊顯示場(chǎng)景后,將所有功能全部運(yùn)行一遍,由人工進(jìn)行功能驗(yàn)證,確保對(duì)于期間出現(xiàn)的所有可讀信息都能夠正常地顯示在特殊顯示模式下。由于通常模擬此類特殊顯示模式都需要配置整個(gè)計(jì)算機(jī)環(huán)境,配置和切換過程相當(dāng)耗時(shí)。并且,由于是整個(gè)系統(tǒng)的參數(shù)改變,所以在想對(duì)多個(gè)特殊顯示模式進(jìn)行測(cè)試時(shí),只能夠在各種場(chǎng)景期間不停地轉(zhuǎn)換,這個(gè)過程也是相當(dāng)耗時(shí)的。對(duì)于特殊顯示模式下的功能驗(yàn)證,需要在每一種模擬的場(chǎng)景下做一次全面的功能測(cè)試,這意味著,同樣的復(fù)雜的功能測(cè)試將會(huì)在各種模擬場(chǎng)景下重復(fù)地進(jìn)行。另外,對(duì)于特殊顯示模式下信息完整性測(cè)試,測(cè)試人員需要記憶每一個(gè)步驟中所有網(wǎng)頁中將會(huì)出現(xiàn)的信息,然后切換到特殊顯示模式下進(jìn)行信息驗(yàn)證,隨著頁面信息復(fù)雜度的增加,光憑人工記憶測(cè)試,將會(huì)很容易導(dǎo)致測(cè)試失誤。因此,希望提供一種改進(jìn)的能夠?qū)Σ煌哪M顯示場(chǎng)景進(jìn)行測(cè)試的方案。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于處理網(wǎng)頁的方法,包括獲得所述網(wǎng)頁的一個(gè)主窗口的DOM內(nèi)容;根據(jù)至少一個(gè)預(yù)定渲染樣式以及所述主窗口的DOM內(nèi)容,生成對(duì)應(yīng)于所述至少一個(gè)預(yù)定渲染樣式的DOM內(nèi)容;以及,在不同于主窗口的至少一個(gè)窗口渲染所述對(duì)應(yīng)于所述至少一個(gè)預(yù)定渲染樣式的DOM內(nèi)容。根據(jù)本發(fā)明的另一個(gè)方面,提供了一種用于對(duì)網(wǎng)頁進(jìn)行渲染的系統(tǒng),包括D0M內(nèi)容獲取裝置,被配置為獲得所述網(wǎng)頁的一個(gè)主窗口的DOM內(nèi)容;D0M內(nèi)容生成裝置,被配置為根據(jù)至少一個(gè)預(yù)定渲染樣式以及所述主窗口的DOM內(nèi)容,生成對(duì)應(yīng)于所述至少一個(gè)預(yù)定渲染樣式的DOM內(nèi)容;以及,渲染裝置,被配置為在不同于主窗口的至少一個(gè)窗口渲染所述對(duì)應(yīng)于所述至少一個(gè)預(yù)定渲染樣式的DOM內(nèi)容。
本發(fā)明從網(wǎng)頁最終顯示的輸入文檔對(duì)象模型(DOM)入手,針對(duì)網(wǎng)頁中出現(xiàn)的每一個(gè)節(jié)點(diǎn)進(jìn)行統(tǒng)一的場(chǎng)景模擬,可以實(shí)現(xiàn)多個(gè)顯示模式的同時(shí)展現(xiàn),從而方便了測(cè)試人員對(duì)于信息完整性的檢測(cè)。同時(shí),利用對(duì)于文檔對(duì)象模型(DOM)里的節(jié)點(diǎn)事件的偵聽,使得各種顯示場(chǎng)景下功能一致,使得測(cè)試人員只需在某種場(chǎng)景下做一次功能性檢測(cè),就可以同時(shí)測(cè)試、驗(yàn)證其余模擬場(chǎng)景的功能性測(cè)試,從而節(jié)省了大量的時(shí)間。


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