本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體而言,涉及網(wǎng)頁前端測試方法及裝置。
背景技術(shù):
網(wǎng)頁前端為互聯(lián)網(wǎng)技術(shù)的重要分支,在界面展示和用戶交互方面占據(jù)極為重要的地位。隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的后端業(yè)務(wù)邏輯逐步前端化,使得前端業(yè)務(wù)邏輯日趨復(fù)雜。
近些年前端技術(shù)日新月異,隨之,前端領(lǐng)域也紛紛涌現(xiàn)出各種單元測試方案,如:jasmine、mocha等。這些單元測試方案雖從一定程度上能保證前端代碼質(zhì)量。但均存在將業(yè)務(wù)功能的測試用例直接耦合在業(yè)務(wù)代碼中,前端業(yè)務(wù)代碼的高耦合度致使前端單元測試用例維護變得異常復(fù)雜。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種網(wǎng)頁前端測試方法,用以改善上述問題。
本發(fā)明的另一目的在于提供一種網(wǎng)頁前端測試裝置,用以改善上述問題。
為了實現(xiàn)上述目的,本發(fā)明實施例采用的技術(shù)方案如下:
本發(fā)明實施例提供一種網(wǎng)頁前端測試方法。所述方法應(yīng)用于相互通信連接的客戶端與網(wǎng)頁服務(wù)器。所述方法包括:所述客戶端響應(yīng)測試指令,生成訪問請求數(shù)據(jù),其中,所述訪問請求數(shù)據(jù)包括用于標(biāo)識需要測試的待測試功能的測試標(biāo)識;所述客戶端將所述訪問請求數(shù)據(jù)發(fā)送給所述網(wǎng)頁服務(wù)器;所述網(wǎng)頁服務(wù)器根據(jù)所述測試標(biāo)識,獲得與待測試功能對應(yīng)的測試用例;所述網(wǎng)頁服務(wù)器根據(jù)訪問請求數(shù)據(jù),獲取待反饋數(shù)據(jù),其中,所述待反饋數(shù)據(jù)包括與所述待測試功能對應(yīng)的待測試文件;所述網(wǎng)頁服務(wù)器根據(jù)所述測試用例及待反饋數(shù)據(jù),生成響應(yīng)數(shù)據(jù);所述網(wǎng)頁服務(wù)器將所述響應(yīng)數(shù)據(jù)發(fā)送至所述客戶端;所述客戶端執(zhí)行所述響應(yīng)數(shù)據(jù),以得測試結(jié)果。
本發(fā)明實施例還提供一種網(wǎng)頁前端測試方法。所述方法應(yīng)用于與客戶端通信連接的網(wǎng)頁服務(wù)器,所述方法包括:接收所述客戶端發(fā)送的訪問請求數(shù)據(jù),其中,所述訪問請求數(shù)據(jù)包括用于標(biāo)識需要測試的待測試功能的測試標(biāo)識;根據(jù)所述測試標(biāo)識,獲得與待測試功能對應(yīng)的測試用例;根據(jù)訪問請求數(shù)據(jù),獲取待反饋數(shù)據(jù),其中,所述待反饋數(shù)據(jù)包括與所述待測試功能對應(yīng)的待測試文件;根據(jù)所述測試用例及待反饋數(shù)據(jù),生成響應(yīng)數(shù)據(jù);將所述響應(yīng)數(shù)據(jù)發(fā)送至所述客戶端,以獲得所述客戶端反饋的測試結(jié)果,其中,所述測試結(jié)果由所述客戶端執(zhí)行所述響應(yīng)數(shù)據(jù)后生成。
本發(fā)明實施例還提供一種網(wǎng)頁前端測試裝置。所述裝置應(yīng)用于與客戶端通信連接的網(wǎng)頁服務(wù)器,所述裝置包括:接收模塊、獲取模塊、生成模塊及發(fā)送模塊。接收模塊,用于接收所述客戶端發(fā)送的訪問請求數(shù)據(jù),其中,所述訪問請求數(shù)據(jù)包括用于標(biāo)識需要測試的待測試功能的測試標(biāo)識。獲取模塊,用于根據(jù)所述測試標(biāo)識,獲得與待測試功能對應(yīng)的測試用例;及還用于根據(jù)訪問請求數(shù)據(jù),獲取待反饋數(shù)據(jù),其中,所述待反饋數(shù)據(jù)包括與所述待測試功能對應(yīng)的待測試文件。生成模塊,用于根據(jù)所述測試用例及待反饋數(shù)據(jù),生成響應(yīng)數(shù)據(jù)。發(fā)送模塊,用于將所述響應(yīng)數(shù)據(jù)發(fā)送至所述客戶端,以獲得所述客戶端反饋的測試結(jié)果,其中,所述測試結(jié)果由所述客戶端執(zhí)行所述響應(yīng)數(shù)據(jù)后生成。
與現(xiàn)有技術(shù)相比,本發(fā)明提供的一種網(wǎng)頁前端測試方法及裝置??蓱?yīng)用于相互通信連接的客戶端與網(wǎng)頁服務(wù)器。所述方法包括所述客戶端響應(yīng)測試指令,生成訪問請求數(shù)據(jù),其中,所述訪問請求數(shù)據(jù)包括用于標(biāo)識需要測試的待測試功能的測試標(biāo)識。所述網(wǎng)頁服務(wù)器根據(jù)所述測試標(biāo)識,獲得與待測試功能對應(yīng)的測試用例。精確及快速的查找到對應(yīng)的測試用例,通過效率。根據(jù)訪問請求數(shù)據(jù),獲取待反饋數(shù)據(jù),其中,所述待反饋數(shù)據(jù)包括與所述待測試功能對應(yīng)的待測試文件;根據(jù)所述測試用例及待反饋數(shù)據(jù),生成響應(yīng)數(shù)據(jù)。從而減少待反饋數(shù)據(jù)與測試用例的高度耦合,提高測試用例可維護性以及測試效率。
為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1示出了本發(fā)明較佳實施例的應(yīng)用環(huán)境示意圖。
圖2為本發(fā)明較佳實施例提供的網(wǎng)頁服務(wù)器的方框示意圖。
圖3為本發(fā)明第一實施例提供的一種網(wǎng)頁前端測試方法的流程圖。
圖4為圖3中步驟s101的子步驟流程圖。
圖5為圖3中步驟s105的子步驟流程圖。
圖6為本發(fā)明第二實施例提供的一種網(wǎng)頁前端測試方法的流程圖。
圖7本發(fā)明第三實施例提供的一種網(wǎng)頁前端測試裝置的方框示意圖。
圖標(biāo):400-用戶終端;401-客戶端;100-網(wǎng)頁服務(wù)器;300-網(wǎng)絡(luò);111-存儲器;112-處理器;113-通信單元;200-網(wǎng)頁前端測試裝置;201-接收模塊;202-獲取模塊;203-生成模塊;204-發(fā)送模塊。
具體實施方式
下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細(xì)描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發(fā)明的描述中,術(shù)語“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。
本發(fā)明下述各實施例如無特別說明均可應(yīng)用于如圖1所示的環(huán)境中,如圖1所示,用戶終端400、網(wǎng)頁服務(wù)器100位于網(wǎng)絡(luò)300中,網(wǎng)絡(luò)300包括無線網(wǎng)絡(luò)或有線網(wǎng)絡(luò),通過網(wǎng)絡(luò)300,用戶終端400與網(wǎng)頁服務(wù)器100進行數(shù)據(jù)交互。網(wǎng)頁服務(wù)器100可以是一個服務(wù)器,也可以是多個執(zhí)行不同任務(wù)的服務(wù)器。
于本發(fā)明實施例中,用戶終端400優(yōu)選為移動終端設(shè)備,例如可以包括智能手機、平板電腦、電子書閱讀器、膝上型便攜計算機、車載電腦、穿戴式移動終端等等。該用戶終端400中安裝客戶端401,與網(wǎng)頁服務(wù)器100相對應(yīng),為用戶提供服務(wù)。所述客戶端401與所述網(wǎng)頁服務(wù)器100通信連接。所述客戶端401可以是瀏覽器,也可以為其他可訪問網(wǎng)頁服務(wù)器100的app。
如圖2所示,是圖1中網(wǎng)頁服務(wù)器100的方框示意圖。所述網(wǎng)頁服務(wù)器100包括網(wǎng)頁前端測試裝置200、存儲器111、處理器112及通信單元113。
所述存儲器111、處理器112以及通信單元113各元件相互之間直接或間接地電性連接,以實現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實現(xiàn)電性連接。所述網(wǎng)頁前端測試裝置200包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器111中或固化在所述網(wǎng)頁服務(wù)器100的操作系統(tǒng)(operatingsystem,os)中的軟件功能模塊。所述處理器112用于執(zhí)行所述存儲器111中存儲的可執(zhí)行模塊,例如所述網(wǎng)頁前端測試裝置200所包括的軟件功能模塊及計算機程序等。
其中,所述存儲器111可以是,但不限于,隨機存取存儲器(randomaccessmemory,ram),只讀存儲器(readonlymemory,rom),可編程只讀存儲器(programmableread-onlymemory,prom),可擦除只讀存儲器(erasableprogrammableread-onlymemory,eprom),電可擦除只讀存儲器(electricerasableprogrammableread-onlymemory,eeprom),實現(xiàn)了數(shù)據(jù)持久化功能的存儲系統(tǒng)等。其中,存儲器111用于存儲程序或者數(shù)據(jù)。所述通信單元113用于通過所述網(wǎng)絡(luò)300建立所述網(wǎng)頁服務(wù)器100與其它通信終端之間的通信連接,并用于通過所述網(wǎng)絡(luò)300收發(fā)數(shù)據(jù)。
應(yīng)當(dāng)理解的是,圖1所示的結(jié)構(gòu)僅為網(wǎng)頁服務(wù)器100的結(jié)構(gòu)示意圖,所述網(wǎng)頁服務(wù)器100還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1中所示的各組件可以采用硬件、軟件或其組合實現(xiàn)。
第一實施例
請參照圖3,是本發(fā)明較佳實施例提供的一種網(wǎng)頁前端測試方法,應(yīng)用于相互通信連接的客戶端401與網(wǎng)頁服務(wù)器100。所述網(wǎng)頁前端測試方法包括以下步驟:
步驟s101,所述客戶端401響應(yīng)測試指令,生成訪問請求數(shù)據(jù)。
本實施例中,客戶端401通過訪問請求數(shù)據(jù)從網(wǎng)頁服務(wù)器100獲取加載網(wǎng)頁的數(shù)據(jù)及實現(xiàn)各種前端網(wǎng)站服務(wù)的數(shù)據(jù)。所述訪問請求數(shù)據(jù)包括用于標(biāo)識需要測試的待測試功能及與待測試功能對應(yīng)的待測試文件的測試標(biāo)識。需要說明的是,待測試功能與待測試文件之間的對應(yīng)關(guān)系可以預(yù)先設(shè)置。所述訪問請求數(shù)據(jù)還包括網(wǎng)頁服務(wù)器100對應(yīng)的網(wǎng)頁地址(例如,百度網(wǎng)頁服務(wù)器100對應(yīng)的網(wǎng)頁地址為www.baidu.com)。待測試功能可以是網(wǎng)頁的前端網(wǎng)站服務(wù)對應(yīng)的功能模塊。待測試文件可以是實現(xiàn)待測試功能的腳本文件,例如可以是前端javascript腳本文件。如圖4所示,步驟s101包括以下子步驟:
子步驟s1011,所述客戶端401響應(yīng)所述測試指令,獲得與所述測試指令對應(yīng)的待測試業(yè)務(wù)信息。
在本實施例中,測試指令可以是觸發(fā)對網(wǎng)頁的一個或多個前端網(wǎng)站服務(wù)進行測試的指令。測試指令可以由測試員通過用戶終端400觸發(fā),也可以是按照預(yù)設(shè)置的規(guī)則觸發(fā)。待測試業(yè)務(wù)信息可以是被指定需要被測試的一個或多個前端網(wǎng)站服務(wù)對應(yīng)的待測試功能的業(yè)務(wù)信息。待測試業(yè)務(wù)信息包括待測試功能的標(biāo)識信息及實現(xiàn)待測試功能的業(yè)務(wù)規(guī)則。前端網(wǎng)站服務(wù)與待測試業(yè)務(wù)信息之間的對應(yīng)關(guān)系可以通過預(yù)先設(shè)置于用戶終端400。
子步驟s1012,所述客戶端401根據(jù)待測試業(yè)務(wù)信息生成與所述待測試功能對應(yīng)的測試標(biāo)識。
在本實施例中,測試標(biāo)識包括待測試文件標(biāo)識及待測試功能標(biāo)識。待測試文件標(biāo)識可以是待測試文件名稱,例如,待測試文件名稱可以是demo.js;待測試功能標(biāo)識可以是待測試功能的名稱,例如,待測試功能的名稱可以是democontroller.demofunction??蛻舳?01根據(jù)待測試業(yè)務(wù)信息生成待測試文件標(biāo)識及待測試功能標(biāo)識。
子步驟s1013,所述客戶端401獲取與所述網(wǎng)頁服務(wù)器100對應(yīng)的網(wǎng)頁地址。
子步驟s1014,所述客戶端401根據(jù)所述網(wǎng)頁地址及所述測試標(biāo)識生成所述訪問請求數(shù)據(jù)。
在本實施例中,客戶端401通過網(wǎng)頁地址訪問網(wǎng)頁服務(wù)器100以獲取加載網(wǎng)頁的數(shù)據(jù)及實現(xiàn)各種前端網(wǎng)站服務(wù)的數(shù)據(jù),例如,與各項前端網(wǎng)站服務(wù)對應(yīng)的多個前端js腳本文件、前端css樣式文件、jpg、png等圖片資源文件,這些資源文件在訪問時可以同時從網(wǎng)頁服務(wù)器100中獲取。所述測試標(biāo)識用于標(biāo)示通過訪問請求數(shù)據(jù)需要測試的待測試功能及待測試文件。所述訪問請求數(shù)據(jù)可以是包括訪問地址,訪問地址包括網(wǎng)頁地址及測試標(biāo)識。例如,訪問地址可以是baidu.com?testfile=demo.js&testmodule=democontroller.demofunction。
步驟s102,客戶端401將所述訪問請求數(shù)據(jù)發(fā)送給所述網(wǎng)頁服務(wù)器100。
在本實施例中,客戶端401在生成訪問請求數(shù)據(jù)后自動發(fā)送給網(wǎng)頁服務(wù)器100。具體地,通過網(wǎng)絡(luò)300將訪問請求發(fā)送給網(wǎng)頁服務(wù)器100。以便流程進入步驟s103。
步驟s103,所述網(wǎng)頁服務(wù)器100根據(jù)所述測試標(biāo)識,獲得與待測試功能對應(yīng)的測試用例。
在本實施例中,網(wǎng)頁服務(wù)器100接收訪問請求數(shù)據(jù)后,解析訪問請求數(shù)據(jù)中的測試標(biāo)識,以獲得測試標(biāo)識中的待測試文件標(biāo)識及待測試功能標(biāo)識。測試用例(testcase)是為某個特殊目標(biāo)而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果。每一個待測試功能都存在對應(yīng)的測試用例。測試用例、及測試用例與待測功能之間的對應(yīng)關(guān)系可以是預(yù)先存儲在網(wǎng)頁服務(wù)器100內(nèi)。因此,當(dāng)從測試標(biāo)識中解析出待測試功能標(biāo)識后,根據(jù)待測試功能標(biāo)識,利用測試用例與待測功能之間的對應(yīng)關(guān)系從預(yù)先存儲的測試用例中獲取與待測試功能對應(yīng)的測試用例。這樣提高查找與待測試功能對應(yīng)的測試用例的精確性和效率。
步驟s104,所述網(wǎng)頁服務(wù)器100根據(jù)訪問請求數(shù)據(jù),獲取待反饋數(shù)據(jù),其中,所述待反饋數(shù)據(jù)包括與所述待測試功能對應(yīng)的待測試文件。
在本實施例中,待反饋數(shù)據(jù)可以是反饋給客戶端401以便客戶端401加載網(wǎng)頁的數(shù)據(jù)及實現(xiàn)各種前端網(wǎng)站服務(wù)的數(shù)據(jù)。待反饋數(shù)據(jù)可以包括,但不限于包括:待測試文件、暫不測試的功能對應(yīng)的腳本文件、前端css樣式文件、jpg、png等圖片資源文件。
步驟s105,所述網(wǎng)頁服務(wù)器100根據(jù)所述測試用例及待反饋數(shù)據(jù),生成響應(yīng)數(shù)據(jù)。
在本實施例中,所述網(wǎng)頁服務(wù)器100將獲取的所述測試用例動態(tài)的注入所述待反饋數(shù)據(jù),以生成響應(yīng)數(shù)據(jù)。測試用例與所有的腳本文件分離,在測試時通過將獲取與待測試功能對應(yīng)的測試用例動態(tài)注入待反饋數(shù)據(jù)中,有效的降低了響應(yīng)數(shù)據(jù)的耦合度,使響應(yīng)數(shù)據(jù)被優(yōu)化,減輕客戶端401加載響應(yīng)數(shù)據(jù)的負(fù)擔(dān)。同時通過動態(tài)注入測試用例降低甚至脫離測試用例對運行環(huán)境的依賴,實現(xiàn)任意環(huán)境的測試用例引入,極大地提高測試用例可維護性以及測試效率??蛇x地,如圖5所示,步驟s105包括以下子步驟:
子步驟s1051,所述網(wǎng)頁服務(wù)器100根據(jù)所述待測試文件標(biāo)識從所述待反饋數(shù)據(jù)中獲取對應(yīng)的所述待測試文件。
在本實施例中,待反饋數(shù)據(jù)中包括實現(xiàn)各個前端網(wǎng)站服務(wù)的腳本文件,從所有的腳本文件中通過待測試文件標(biāo)識查找出待測試文件。需要說明的是,即使只測試一個前端網(wǎng)站服務(wù),客戶端401均需先訪問網(wǎng)頁服務(wù)器100,而訪問網(wǎng)頁服務(wù)器100,會同時請求多個前端網(wǎng)站服務(wù)對應(yīng)的多個前端js腳本文件。
子步驟s1052,所述網(wǎng)頁服務(wù)器100根據(jù)與所述待測試功能標(biāo)識對應(yīng)的業(yè)務(wù)規(guī)則將所述測試用例注入所述待測試文件。
在本實施例中,業(yè)務(wù)規(guī)則可以是網(wǎng)站服務(wù)實現(xiàn)過程中的業(yè)務(wù)邏輯,例如,搜索服務(wù)的業(yè)務(wù)規(guī)則為先顯示搜索界面,再接收搜索內(nèi)容,接著進行搜素,最后顯示搜索結(jié)果。注入測試用例可以是將測試用例加入待測試文件的腳本文件中。按照業(yè)務(wù)規(guī)則將測試用例注入待測試文件中可以是,根據(jù)業(yè)務(wù)規(guī)則在待測試文件中選擇加入測試用例的位置。例如,測試搜索功能時,根據(jù)搜索服務(wù)的業(yè)務(wù)規(guī)則,將測試搜索功能的測試用例注入在實現(xiàn)顯示搜索界面的腳本文件之后,使待測試文件在被執(zhí)行的過程中,當(dāng)顯示了搜索界面后開始執(zhí)行測試搜索功能的測試用例。這樣可減少、甚至是消除測試用例對測試環(huán)境的依賴。
在本實施例中,將已注入測試用例的待測試文件替換待反饋數(shù)據(jù)中沒注入測試用例的待測試文件,以生成響應(yīng)數(shù)據(jù)。
步驟s106,所述網(wǎng)頁服務(wù)器100將所述響應(yīng)數(shù)據(jù)發(fā)送至所述客戶端401。
在本實施例中,并將響應(yīng)數(shù)據(jù)通過網(wǎng)絡(luò)300發(fā)送給客戶端401。
步驟s107,所述客戶端401執(zhí)行所述響應(yīng)數(shù)據(jù),以得測試結(jié)果。
在本實施例中,客戶端401根據(jù)響應(yīng)數(shù)據(jù)對網(wǎng)頁進行加載。啟動待測試功能??梢允沁\行與待測試功能對應(yīng)的注入了測試用例的待測試文件,以獲得當(dāng)前測試環(huán)境下的測試結(jié)果??蛇x地,可以使用javascriptobjectnotation進行測試結(jié)果收集。
步驟s108,所述客戶端401將所述測試結(jié)果發(fā)送至所述網(wǎng)頁服務(wù)器100。
在本實施例中,將收集的測試結(jié)果發(fā)送給網(wǎng)頁服務(wù)器100。例如,將json格式的測試結(jié)果通過ajax發(fā)送給網(wǎng)頁服務(wù)器100。
步驟s109,所述網(wǎng)頁服務(wù)器100對所述測試結(jié)果進行展示。
在本實施例中,解析接收到的測試結(jié)果。集中展示不同網(wǎng)站服務(wù)對應(yīng)的測試結(jié)果。以便對不同網(wǎng)站服務(wù)的測試結(jié)果進行處理,例如,當(dāng)測試結(jié)果顯示一項網(wǎng)站業(yè)務(wù)的業(yè)務(wù)邏輯存在邏輯問題,則對該網(wǎng)站也的業(yè)務(wù)邏輯順序進行調(diào)整等。能夠給網(wǎng)站開發(fā)人員提供從微觀(單項前端業(yè)務(wù)功能)到宏觀(網(wǎng)站前端整體業(yè)務(wù)功能)的統(tǒng)一監(jiān)控,極大地提高業(yè)務(wù)功能和整個網(wǎng)站的穩(wěn)定性和維護性。
第二實施例
如圖6所示,是本發(fā)明較佳實施例提供的一種網(wǎng)頁前端測試方法,所述方法應(yīng)用于網(wǎng)頁服務(wù)器100,所述網(wǎng)頁前端測試方法包括以下步驟:
步驟s201,接收所述客戶端401發(fā)送的訪問請求數(shù)據(jù),其中,所述訪問請求數(shù)據(jù)包括用于標(biāo)識需要測試的待測試功能的測試標(biāo)識。
在本實施例中,解析訪問請求數(shù)據(jù),從訪問請求數(shù)據(jù)中獲取對需要測試的待測試功能的測試標(biāo)識。測試標(biāo)識包括待測試文件標(biāo)識及待測試功能標(biāo)識。待測試文件標(biāo)識可以是待測試文件名稱,例如,待測試文件名稱可以是demo.js;待測試功能標(biāo)識可以是待測試功能的名稱,例如,待測試功能的名稱可以是democontroller.demofunction??蛻舳?01根據(jù)待測試業(yè)務(wù)信息生成待測試文件標(biāo)識及待測試功能標(biāo)識。
步驟s202,根據(jù)所述測試標(biāo)識,獲得與待測試功能對應(yīng)的測試用例。
在本實施例中,測試用例、及測試用例與待測功能之間的對應(yīng)關(guān)系可預(yù)先存儲在網(wǎng)頁服務(wù)器100內(nèi)。因此,當(dāng)從測試標(biāo)識中解析出待測試功能標(biāo)識后,根據(jù)待測試功能標(biāo)識,利用測試用例與待測功能之間的對應(yīng)關(guān)系從預(yù)先存儲的測試用例中獲取與待測試功能對應(yīng)的測試用例。這樣提高查找與待測試功能對應(yīng)的測試用例的精確性和效率。
步驟s203,根據(jù)訪問請求數(shù)據(jù),獲取待反饋數(shù)據(jù),其中,所述待反饋數(shù)據(jù)包括與所述待測試功能對應(yīng)的待測試文件。
在本實施例中,待反饋數(shù)據(jù)可以是反饋給客戶端401以便客戶端401加載網(wǎng)頁的數(shù)據(jù)及實現(xiàn)各種前端網(wǎng)站服務(wù)的數(shù)據(jù)。待反饋數(shù)據(jù)可以包括,但不限于包括:待測試文件、暫不測試的功能對應(yīng)的腳本文件、前端css樣式文件、jpg、png等圖片資源文件。
步驟s204,根據(jù)所述測試用例及待反饋數(shù)據(jù),生成響應(yīng)數(shù)據(jù)。
在本實施例中,所述網(wǎng)頁服務(wù)器100將獲取的所述測試用例動態(tài)的注入所述待反饋數(shù)據(jù),以生成響應(yīng)數(shù)據(jù)。測試用例與所有的腳本文件分離,在測試時通過將獲取與待測試功能對應(yīng)的測試用例動態(tài)注入待反饋數(shù)據(jù)中,有效的降低了響應(yīng)數(shù)據(jù)的耦合度,使響應(yīng)數(shù)據(jù)被優(yōu)化,減輕客戶端401加載響應(yīng)數(shù)據(jù)的負(fù)擔(dān)。同時通過動態(tài)注入測試用例降低甚至脫離測試用例對運行環(huán)境的依賴,實現(xiàn)任意環(huán)境的測試用例引入,極大地提高測試用例可維護性以及測試效率??蛇x地,執(zhí)行步驟s204的方式可以是根據(jù)所述待測試文件標(biāo)識從所述待反饋數(shù)據(jù)中獲取對應(yīng)的所述待測試文件;根據(jù)與所述待測試功能標(biāo)識對應(yīng)的業(yè)務(wù)規(guī)則將所述測試用例注入所述待測試文件。
步驟s205,將所述響應(yīng)數(shù)據(jù)發(fā)送至所述客戶端401,以獲得所述客戶端401反饋的測試結(jié)果,其中,所述測試結(jié)果由所述客戶端401執(zhí)行所述響應(yīng)數(shù)據(jù)后生成。
步驟s206,對所述測試結(jié)果進行展示。
在本實施例中,解析接收到的測試結(jié)果。集中展示不同網(wǎng)站服務(wù)對應(yīng)的測試結(jié)果。以便對不同網(wǎng)站服務(wù)的測試結(jié)果進行處理,例如,當(dāng)測試結(jié)果顯示一項網(wǎng)站業(yè)務(wù)的業(yè)務(wù)邏輯存在邏輯問題,則對該網(wǎng)站也的業(yè)務(wù)邏輯順序進行調(diào)整等。能夠給網(wǎng)站開發(fā)人員提供從微觀(單項前端業(yè)務(wù)功能)到宏觀(網(wǎng)站前端整體業(yè)務(wù)功能)的統(tǒng)一監(jiān)控,極大地提高業(yè)務(wù)功能和整個網(wǎng)站的穩(wěn)定性和維護性。
第三實施例
請參照圖7,是本發(fā)明較佳實施例提供的應(yīng)用于網(wǎng)頁服務(wù)器100的網(wǎng)頁前端測試裝置200。網(wǎng)頁前端測試裝置200包括:接收模塊201、獲取模塊202、生成模塊203及發(fā)送模塊204。
接收模塊201,用于接收所述客戶端401發(fā)送的訪問請求數(shù)據(jù),其中,所述訪問請求數(shù)據(jù)包括用于標(biāo)識需要測試的待測試功能的測試標(biāo)識。
在本發(fā)明實施例中,步驟s201可以由接收模塊201執(zhí)行。
獲取模塊202,用于根據(jù)所述測試標(biāo)識,獲得與待測試功能對應(yīng)的測試用例;及還用于根據(jù)訪問請求數(shù)據(jù),獲取待反饋數(shù)據(jù),其中,所述待反饋數(shù)據(jù)包括與所述待測試功能對應(yīng)的待測試文件。
在本實施例中,步驟s202、步驟s203、步驟s103步驟s104可以由獲取模塊202執(zhí)行。
生成模塊203,用于根據(jù)所述測試用例及待反饋數(shù)據(jù),生成響應(yīng)數(shù)據(jù)。
在本實施例中,步驟s204及步驟s105可以由生成模塊203執(zhí)行。需要說明的是,子步驟s1051及子步驟s1051也可以由生成模塊203執(zhí)行。生成模塊203執(zhí)行步驟s204或步驟s105的方式可以是將獲取的所述測試用例動態(tài)的注入所述待反饋數(shù)據(jù),以生成響應(yīng)數(shù)據(jù)。可選地,所述測試用例動態(tài)的注入通過如下方式:根據(jù)所述待測試文件標(biāo)識從所述待反饋數(shù)據(jù)中獲取對應(yīng)的所述待測試文件,再根據(jù)與所述待測試功能標(biāo)識對應(yīng)的業(yè)務(wù)規(guī)則將所述測試用例注入所述待測試文件。
發(fā)送模塊204,用于將所述響應(yīng)數(shù)據(jù)發(fā)送至所述客戶端401,以獲得所述客戶端401反饋的測試結(jié)果,其中,所述測試結(jié)果由所述客戶端401執(zhí)行所述響應(yīng)數(shù)據(jù)后生成。
在本實施例中,步驟s205及步驟s106可以由發(fā)送模塊204執(zhí)行。
在本實施例中,網(wǎng)頁前端測試裝置200還包括展示模塊,所述展示模塊用于對所述測試結(jié)果進行展示??蛇x地,步驟s109及步驟s206可以由展示模塊執(zhí)行。
綜上所述,本發(fā)明實施例提供的一種網(wǎng)頁前端測試方法及裝置。所述方法應(yīng)用于相互通信連接的客戶端與網(wǎng)頁服務(wù)器。所述方法包括:客戶端響應(yīng)測試指令,生成訪問請求數(shù)據(jù),其中,所述訪問請求數(shù)據(jù)包括用于標(biāo)識需要測試的待測試功能的測試標(biāo)識;將所述訪問請求數(shù)據(jù)發(fā)送給所述網(wǎng)頁服務(wù)器;所述網(wǎng)頁服務(wù)器根據(jù)所述測試標(biāo)識,獲得與待測試功能對應(yīng)的測試用例;根據(jù)訪問請求數(shù)據(jù),獲取待反饋數(shù)據(jù),其中,所述待反饋數(shù)據(jù)包括與所述待測試功能對應(yīng)的待測試文件;根據(jù)所述測試用例及待反饋數(shù)據(jù),生成響應(yīng)數(shù)據(jù);將所述響應(yīng)數(shù)據(jù)發(fā)送至所述客戶端;所述客戶端執(zhí)行所述響應(yīng)數(shù)據(jù),以得測試結(jié)果。降低測試過程中客戶端加載數(shù)據(jù)的耦合度,降低測試用例對測試環(huán)境的依賴,提高測試效率。測試用例也更加方便管理維護。進而減少網(wǎng)頁前端測試工作的人力成本和時間成本。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準(zhǔn)。