專利名稱:實現嵌入式瀏覽器自動測試的方法及系統的制作方法
技術領域:
本發明涉及嵌入式瀏覽器技術領域,更具體地說,涉及一種實現嵌入式瀏覽器自 動測試的方法及系統。
背景技術:
隨著hternet普及率的迅猛增長,瀏覽器成為了獲取信息的重要工具。另一方 面,隨著消費電子、計算機、通信一體化的趨勢,嵌入式瀏覽器也隨之出現。嵌入式瀏覽器可 以廣泛用于hternet-TV、iDVD、Web終端、數字電視機頂盒、掌上電腦等各種信息電器和便 攜式網絡終端中,在工業控制領域也有著廣泛的應用前景。嵌入式瀏覽器環境下,一般沒有鼠標,遙控器的按鍵輸入是用戶與系統的唯一交 互。為此,在進行瀏覽器測試時,需要人工多次進行按鍵操作,不僅費時,而且無法實現自動 測試。
發明內容
本發明實施例提供一種實現嵌入式瀏覽器自動測試的方法及系統,以實現對嵌入 式瀏覽器的自動按鍵測試。為此,本發明實施例提供如下技術方案一種實現嵌入式瀏覽器自動測試的方法,包括通過嵌入式瀏覽器進入測試入口過渡頁面;在所述測試入口過渡頁面接收到用戶的測試指令后,通過異步方式從服務器下載 自動測試腳本文件;下載完成后,保存所述自動測試腳本文件;運行所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試。優選地,所述方法還包括在所述測試入口過渡頁面中設置測試按鈕,以使用戶通過點擊所述測試按鈕發送 所述測試指令。優選地,所述自動測試腳本文件為包括按鍵事件的純文本文件,每個按鍵事件由 三元組定義,包括時間間隔、類型、鍵值。優選地,所述方法還包括預先生成所述自動測試腳本文件,并將所述自動測試腳本文件上傳給所述服務ο優選地,所述通過異步方式從服務器下載自動測試腳本文件包括調用按鍵機器人,所述按鍵機器人為JavMcript對象;所述按鍵機器人向服務器發送腳本文件下載請求;所述按鍵機器人通過異步方式從服務器接收所述自動測試腳本文件。優選地,所述方法還包括
重復運行所述自動測試腳本文件,直至達到設定的運行次數。優選地,所述方法還包括設置終止按鍵;在運行所述自動測試腳本文件之前,攔截除所述終止按鍵之外的外部用戶按鍵消 息;重復運行所述自動測試腳本文件,直至接收到外部用戶的終止按鍵的消息。一種實現嵌入式瀏覽器自動測試的系統,包括測試入口單元,用于通過嵌入式瀏覽器進入測試入口過渡頁面;指令接收單元,用于在所述測試入口過渡頁面接收用戶的測試指令;下載單元,用于在所述指令接收單元接收到用戶的測試指令后,通過異步方式從 服務器下載自動測試腳本文件;保存單元,用于在下載完成后,保存所述自動測試腳本文件;運行單元,用于運行所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試。優選地,所述測試入口過渡頁面中設置有測試按鈕,以使用戶通過點擊所述測試 按鈕發送所述測試指令。優選地,所述運行單元,具體用于重復運行所述自動測試腳本文件;相應地,所述系統還包括計數單元,用于統計所述自動測試腳本文件的運行次數,并在所述運行次數達到 設定的運行次數后,通知所述運行單元停止運行所述自動測試腳本文件。優選地,所述運行單元,具體用于重復運行所述自動測試腳本文件,相應地,所述系統還包括控制單元,用于在所述運行單元運行所述自動測試腳本文件之前,攔截除預先設 置的終止按鍵之外的外部用戶按鍵消息,并在接收到外部用戶的所述終止按鍵的消息后, 通知所述運行單元停止運行所述自動測試腳本文件。本發明實施例提供的實現嵌入式瀏覽器自動測試的方法及系統,利用預先建立的 測試入口過渡頁面,通過嵌入式瀏覽器進入測試入口過渡頁面,在所述測試入口過渡頁面 接收到用戶的測試指令后,通過異步方式從服務器下載自動測試腳本文件,下載完成后,運 行所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試,并且可以使嵌入式瀏覽器測 試時所需的模擬按鍵不依賴于具體的應用頁面,不會產生對所述應用頁面的影響。
為了更清楚地說明本發明實施的技術方案,下面將對實施例中所需要使用的附圖 作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普 通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本發明實施例實現嵌入式瀏覽器自動測試的方法的流程圖;圖2是本發明實施例實現嵌入式瀏覽器自動測試的系統的一種結構示意圖;圖3是本發明實施例實現嵌入式瀏覽器自動測試的系統的另一種結構示意圖;圖4是本發明實施例實現嵌入式瀏覽器自動測試的系統的另一種結構示意圖。
具體實施例方式為了使本技術領域的人員更好地理解本發明實施例中的技術方案,下面將結合本 發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述 的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領 域普通技術人員所獲得的所有其他實施例,都應當屬于本發明保護的范圍。在本發明實施例中,通過預先建立的測試入口過渡頁面,使嵌入式瀏覽器測試時 所需的模擬按鍵不依賴于應用頁面,不會產生對應用頁面的影響。如圖1所示,是本發明實現嵌入式瀏覽器自動測試的方法的流程圖,包括以下基 本步驟步驟101,通過嵌入式瀏覽器進入測試入口過渡頁面;步驟102,在所述測試入口過渡頁面接收到用戶的測試指令后,通過異步方式從服 務器下載自動測試腳本文件;步驟103,下載完成后,保存所述自動測試腳本文件;步驟104,運行所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試。在本發明實施例中,所述自動測試腳本文件為包括按鍵事件的純文本文件,每個 按鍵事件由三元組定義,包括時間間隔、類型、鍵值。比如,設置所述自動測試腳本文件的格式如下以#開始的行為注釋行;第一行為ftkeyrobot,用于識別腳本文件;第二行為iiversionN. Μ, N. M為實際版本號,用于后續升級;每一行代表一次按鍵事件,所述按鍵事件由三元組定義,格式為time,type, value,其中第一個按鍵事件的time為0,其他按鍵事件的time為該按鍵事件與上一次按鍵事 件的時間差,單位為ms;所有按鍵事件的type均為KEY,該字段是為了后續擴展其他用戶類型;value為實際鍵值。根據上述格式,假設自動測試腳本文件保存在//server/key. txt中,其內 容如下#keyrobot#versionl. 00, KEY, 270 ;1000, KEY, 271 ;1000, KEY, 272 ;當然,本發明實施例并不限定所述自動測試腳本文件的具體格式,只要其能夠包 含需要測試的按鍵事件即可。而且,在對嵌入式瀏覽器不同的測試中,還可以對所述自動測 試腳本文件進行擴展,以模擬除按鍵之外的瀏覽器行為,比如將其中的定義為0PENURL功 能。在具體應用中,所述自動測試腳本的生成方式可以有多種,比如人工手寫方式生 成,或者通過其他腳本語言生成(例如根據log生成)等。
在本發明實施例中,利用從服務器上下載的自動測試腳本文件實現對嵌入式瀏覽 器的自動測試,而且,通過預先建立的測試入口過渡頁面使嵌入式瀏覽器測試時所需的模 擬按鍵不依賴于應用頁面,不會產生對應用頁面的影響。所述測試入口過渡頁面可以是html (HyperiText Mark-up Language,超文本標記 語言或超文本鏈接標示語言)格式的純文本文件。所述html是目前網絡上應用最為廣泛 的語言,也是構成網頁文檔的主要語言。html文本是由HTML命令組成的描述性文本,html 命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。html的結構包括頭部(Head)、主體 (Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內容。由于Javakript是一種廣泛用于客戶端Web開發的腳本語言,能夠實現大部分的 面向對象的功能,按面向對象的方式操作html頁面的對象(如document、window等等)。 為此,在本發明實施例中,可以利用Jav必cript給所述測試入口過渡頁面添加動態功能, 比如響應用戶的各種操作。具體地,可以在所述測試入口過渡頁面中可以設置測試按鈕,以使用戶通過點擊 所述測試按鈕發送所述測試指令。在本發明實施例中,進一步引入了按鍵機器人的概念,所述按鍵機器人為 Jav必cript對象。在測試入口過渡頁面通過調用按鍵機器人,完成一系列操作。因此,可以 通過JavMcript控制所述按鍵機器人的行為。比如,假設所述測試入口過渡頁面為a. html,內容如下<html><head>〈script〉function openCBKO {if (KeyRobot. status == 1) {KeyRobot. run(IRKEY_RED);}else if (KeyRobot. status = = 2) {debug_string('下載失敗');}else if (KeyRobot. status = = 3) {debug_string('文件格式有誤');}else{//可以定義更多的狀態值,對應不同的實際情況}}function onClickTest () {KeyRobot. open (‘ //server/key.txt',openCBK);
}
</script)</head>
<body><hl>a. html</hl>〈inputtype = ' button'onclick = ‘onClickTest ();'value =' test' /></body></html>用戶點擊a. html中的'test'按鈕,頁面響應onclick事件,執行onClickTest () 函數,所述onClickTest ()函數執行以下操作調用KeyRobot. open,所述KeyRobot. open為所述按鍵機器人執行下載操作,具體 包括所述按鍵機器人可以通過一個下載模塊向服務器發送腳本文件下載請求,在該請求 中包含需要下載的自動測試腳本文件路徑及名稱,如上所示為//server/key. txt ; 下載模塊接收所述服務器發送的自動測試腳本文件;在所述自動測試腳本文件接收完成 后,所述下載模塊回調通知所述按鍵機器人文件接收完畢。所述按鍵機器人收到通知后,保 存所述自動測試腳本文件,并將自身的當前狀態改變為“ 1 ”。需要說明的是,在本發明實施例中,可以采用http方式從服務器下載自動測試 腳本文件,當然,如果所述嵌入式瀏覽器支持其他協議,也可以采用相應的下載方式,比如 ftp (File Transfer Protocol,文件傳輸協議)方式。所述測試入口過渡頁面執行openCBKO函數,所述openCBK()函數執行以下操 作檢測所述按鍵機器人的狀態即KeyRobot. status,如果所述KeyRobot. status為 1,則調用KeyRobot. run,所述KeyRobot. run為所述按鍵機器人執行按鍵測試操作,具體地 可以按照所述自動測試腳本文件的內容執行相應的操作,比如可以包括以下過程(1)攔截外部用戶按鍵消息,也就是說,禁止響應用戶的按鍵操作;(2)解析自動測試腳本文件,取下一個按鍵事件的消息時間間隔及鍵值;(3)檢查當前時間與上一次按鍵事件發送時間的間隔;如果間隔大于腳本中下一 按鍵事件的消息時間間隔,則發送模擬按鍵;否則等待時間到達;重復上述步驟( 至G),直至自動測試腳本文件所有模擬事件都發送完畢。當然,為了滿足不同測試環境的應用需求,比如對某個或多個按鍵操作的測試需 要重復多次。為此,在本發明實施例中,可以通過設定所述自動測試腳本文件的運行次數來 實現;另外,還可以通過設置特殊按鍵的方式來實現,比如,將鍵“A”作為終止鍵,這樣,在 上述步驟(1)中就需要攔截除按鍵“A”之外的用戶按鍵消息。在需要停止測試時,用戶只 需按下遙控器上的按鍵“A”,即可終止測試過程。可見,本發明實施例實現嵌入式瀏覽器自動測試的方法,利用預先建立的測試入 口過渡頁面,在通過嵌入式瀏覽器進入測試入口過渡頁面后,在所述測試入口過渡頁面接收到用戶的測試指令后,通過異步方式從服務器下載自動測試腳本文件,下載完成后,運行 所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試。在本發明實施例中,所述自動測 試腳本文件與需要測試的應用頁面獨立,從而可以使嵌入式瀏覽器測試時所需的模擬按鍵 不依賴于具體的應用頁面,不會產生對所述應用頁面的影響,并且可以利用一個自動測試 腳本文件測試多個應用、以及實現各種組合的按鍵測試,滿足不同的應用需求。另外,由于 所述自動測試腳本文件獨立于需要測試的應用頁面,因此擴展方便,可根據應用需要方便 地進行適應性修改。相應地,本發明實施例還提供了一種實現嵌入式瀏覽器自動測試的系統,如圖2 所示,是該系統的一種結構示意圖。在該實施例中,所述系統200包括測試入口單元201,用于通過嵌入式瀏覽器進入測試入口過渡頁面;指令接收單元202,用于在所述測試入口過渡頁面接收用戶的測試指令;下載單元203,用于在所述指令接收單元接收到用戶的測試指令后,通過異步方式 從服務器下載自動測試腳本文件;保存單元204,用于在下載完成后,保存所述自動測試腳本文件;運行單元205,用于運行所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試。在本發明實施例中,所述測試入口過渡頁面可以是html格式的純文本文件,而 且,所述測試入口過渡頁面中還可以設置有測試按鈕,以使用戶通過點擊所述測試按鈕發 送所述測試指令。所述自動測試腳本文件為包括按鍵事件的純文本文件,每個按鍵事件由三元組定 義,包括時間間隔、類型、鍵值。在具體應用中,所述自動測試腳本的生成方式可以有多種, 比如人工手寫方式生成,或者通過其他腳本語言生成(例如根據log生成)等,具體可參 照前面的描述。在本發明實施例中,所述下載單元203、保存單元204和所述運行單元205具體可 以通過調用JavMcript對象的方式實現相應的功能,具體可參照前面的描述。本發明實施例提供的實現嵌入式瀏覽器自動測試的系統,利用預先建立的測試入 口過渡頁面,在通過嵌入式瀏覽器進入測試入口過渡頁面后,在所述測試入口過渡頁面接 收到用戶的測試指令后,通過異步方式從服務器下載自動測試腳本文件,下載完成后,運行 所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試,從而可以使嵌入式瀏覽器測試 時所需的模擬按鍵不依賴于具體的應用頁面,不會產生對所述應用頁面的影響。在嵌入式瀏覽器的測試中,有時可能會需要對某個或多個按鍵操作進行多次重復 測試,為了滿足這種應用需求。為此,在本發明實施例中,可以通過設定所述自動測試腳本 文件的運行次數來實現;另外,還可以通過設置特殊按鍵的方式來實現,比如,將鍵“A”作 為終止鍵,這樣,在上述步驟(1)中就需要攔截除按鍵“A”之外的用戶按鍵消息。在需要停 止測試時,用戶只需按下遙控器上的按鍵“A”,即可終止測試過程。如圖3所示,是本發明實施例實現嵌入式瀏覽器自動測試的系統的另一種結構示 意圖。與圖2所示實施例的區別在于在該實施例中,所述運行單元205用于重復運行所述自動測試腳本文件。而且,該實施例嵌入式瀏覽器測試系統300還包括計數單元301,用于統計所述自動測試腳本文件的運行次數,并在所述運行次數達 到設定的運行次數后,通知所述運行單元停止運行所述自動測試腳本文件。如圖4所示,是本發明實施例實現嵌入式瀏覽器自動測試的系統的另一種結構示 意圖。同樣,在該實施例中,所述運行單元205用于重復運行所述自動測試腳本文件。另 外,該實施例嵌入式瀏覽器測試系統400還包括控制單元401,用于在所述運行單元運行所述自動測試腳本文件之前,攔截除預 先設置的終止按鍵之外的外部用戶按鍵消息,并在接收到外部用戶的所述終止按鍵的消息 后,通知所述運行單元停止運行所述自動測試腳本文件。可見,利用圖3和圖4所示實施例,無需修改自動測試腳本文件,即可方便地滿足 對嵌入式瀏覽器按鍵操作進行重復測試的需求。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本發明實 施例可借助軟件加必需的通用硬件平臺的方式來實現。基于這樣的理解,本發明的技術方 案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟 件產品可以存儲在存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算 機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例或者實施例 的某些部分所述的方法。以上公開的僅為本發明的優選實施方式,但本發明并非局限于此,任何本領域的 技術人員能思之的沒有創造性的變化,以及在不脫離本發明原理前提下所作的若干改進和 潤飾,都應落在本發明的保護范圍內。
權利要求
1.一種實現嵌入式瀏覽器自動測試的方法,其特征在于,包括 通過嵌入式瀏覽器進入測試入口過渡頁面;在所述測試入口過渡頁面接收到用戶的測試指令后,通過異步方式從服務器下載自動 測試腳本文件;下載完成后,保存所述自動測試腳本文件; 運行所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試。
2.如權利要求1所述的方法,其特征在于,所述方法還包括在所述測試入口過渡頁面中設置測試按鈕,以使用戶通過點擊所述測試按鈕發送所述 測試指令。
3.如權利要求1所述的方法,其特征在于,所述自動測試腳本文件為包括按鍵事件的 純文本文件,每個按鍵事件由三元組定義,包括時間間隔、類型、鍵值。
4.如權利要求1所述的方法,其特征在于,所述方法還包括預先生成所述自動測試腳本文件,并將所述自動測試腳本文件上傳給所述服務器。
5.如權利要求1所述的方法,其特征在于,所述通過異步方式從服務器下載自動測試 腳本文件包括調用按鍵機器人,所述按鍵機器人為JavMcript對象;所述按鍵機器人向服務器發送腳本文件下載請求;所述按鍵機器人通過異步方式從服務器接收所述自動測試腳本文件。
6.如權利要求1至5任一項所述的方法,其特征在于,所述方法還包括 重復運行所述自動測試腳本文件,直至達到設定的運行次數。
7.如權利要求1至5任一項所述的方法,其特征在于,所述方法還包括 設置終止按鍵;在運行所述自動測試腳本文件之前,攔截除所述終止按鍵之外的外部用戶按鍵消息; 重復運行所述自動測試腳本文件,直至接收到外部用戶的終止按鍵的消息。
8.一種實現嵌入式瀏覽器自動測試的系統,其特征在于,包括 測試入口單元,用于通過嵌入式瀏覽器進入測試入口過渡頁面;指令接收單元,用于在所述測試入口過渡頁面接收用戶的測試指令; 下載單元,用于在所述指令接收單元接收到用戶的測試指令后,通過異步方式從服務 器下載自動測試腳本文件;保存單元,用于在下載完成后,保存所述自動測試腳本文件;運行單元,用于運行所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試。
9.如權利要求8所述的系統,其特征在于,所述測試入口過渡頁面中設置有測試按鈕,以使用戶通過點擊所述測試按鈕發送所述 測試指令。
10.如權利要求8或9所述的系統,其特征在于,所述運行單元,具體用于重復運行所述自動測試腳本文件; 所述系統還包括計數單元,用于統計所述自動測試腳本文件的運行次數,并在所述運行次數達到設定 的運行次數后,通知所述運行單元停止運行所述自動測試腳本文件。
11.如權利要求8或9所述的系統,其特征在于, 所述運行單元,具體用于重復運行所述自動測試腳本文件, 所述系統還包括控制單元,用于在所述運行單元運行所述自動測試腳本文件之前,攔截除預先設置的 終止按鍵之外的外部用戶按鍵消息,并在接收到外部用戶的所述終止按鍵的消息后,通知 所述運行單元停止運行所述自動測試腳本文件。
全文摘要
本發明涉及嵌入式瀏覽器技術領域,公開了一種實現嵌入式瀏覽器自動測試的方法及系統,所述方法包括通過嵌入式瀏覽器進入測試入口過渡頁面;在所述測試入口過渡頁面接收到用戶的測試指令后,通過異步方式從服務器下載自動測試腳本文件;下載完成后,保存所述自動測試腳本文件;運行所述自動測試腳本文件,完成對所述嵌入式瀏覽器的測試。利用本發明,可以實現對嵌入式瀏覽器的自動按鍵測試。
文檔編號H04L12/26GK102055623SQ201010579068
公開日2011年5月11日 申請日期2010年12月8日 優先權日2010年12月8日
發明者付明偉, 徐佳宏, 朱呂亮 申請人:深圳市茁壯網絡股份有限公司