一種前端javascript組件的測試方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種前端javascript組件的測試方法和裝置,其中方法包括:S1、分析被測javascript組件命名空間中的代碼,確定所述被測javascript組件命名空間代碼中的成員函數(shù)和成員變量;S2、根據(jù)預先設立的渲染接口模板集合,識別出所述被測javascript組件命名空間代碼中的渲染接口;S3、調(diào)用所述渲染接口渲染所述被測javascript組件,同時展現(xiàn)所述被測javascript組件命名空間代碼中所有的成員函數(shù)和成員變量。該方法還可以進一步包括對成員函數(shù)和成員變量進行針對性測試的步驟。本發(fā)明能夠在對javascript組件進行測試時,自動化渲染javascript組件,同時展現(xiàn)出該組件內(nèi)的成員函數(shù)以及成員變量,使得測試更加深入。
【專利說明】—種前端javascr ipt組件的測試方法和裝置
【【技術領域】】
[0001]本發(fā)明涉及代碼測試技術,尤其涉及一種前端javascript組件的測試方法和裝置。
【【背景技術】】
[0002]前端javascript組件通常用于實現(xiàn)web頁面上獨立的、能夠被渲染以顯示出特定頁面效果的模塊。由于這樣的模塊相對獨立,不依賴于外部的頁面元素,所以在對前端進行測試時,通常會單獨對這樣的模塊所對應的javascript組件進行測試。
[0003]現(xiàn)有的前端javascript組件的測試方法,通常是由開發(fā)人員直接編寫代碼調(diào)用被測javascript組件的渲染接口來渲染該組件,并觀察該組件的實際顯示效果來判斷測試結(jié)果。這樣的方法存在明顯的不足:對于不同的javascript組件都需要去單獨編寫代碼,效率低,耗費大量人工成本;在測試時,無法直接觀察到被測javascript組件的成員函數(shù)的運行結(jié)果以及成員變量值,容易遺漏潛在的問題。
【
【發(fā)明內(nèi)容】
】
[0004]有鑒于此,本發(fā)明提供了一種前端javascript組件的測試方法和裝置,能夠自動化渲染javascript組件,同時展現(xiàn)出該組件內(nèi)的成員函數(shù)以及成員變量,使得測試更加深入。
[0005]具體技術方案如下:
[0006]—種前端javascript組件的測試方法,該方法包括:
[0007]S1、分析被測javascript組件命名空間中的代碼,確定所述被測javascript組件命名空間代碼中的成員函數(shù)和成員變量;
[0008]S2、根據(jù)預先設立的渲染接口模板集合,識別出所述被測javascript組件命名空間代碼中的渲染接口;
[0009]S3、調(diào)用所述渲染接口渲染所述被測javascript組件,同時展現(xiàn)所述被測javascript組件命名空間代碼中所有的成員函數(shù)和成員變量。
[0010]根據(jù)本發(fā)明一優(yōu)選實施例,在S3之后進一步包括:
[0011]S4、根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,重新渲染所述被測javascript 組件;
[0012]或者,根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,輸出該選擇的成員函數(shù)運行后的返回值;
[0013]或者,根據(jù)測試人員設定的成員變量值,重新渲染所述被測javascript組件;
[0014]或者,根據(jù)測試人員選擇的成員變量,輸出該選擇的成員變量的值。
[0015]根據(jù)本發(fā)明一優(yōu)選實施例,所述步驟S2具體包括:
[0016]將所述被測javascript組件命名空間中的成員函數(shù)與所述渲染接口模板集合中的渲染接口進行匹配, 若某成員函數(shù)的格式與所述渲染接口模板集合中的某一渲染接口的格式相匹配,則認為所述某成員函數(shù)為渲染接口。
[0017]根據(jù)本發(fā)明一優(yōu)選實施例,所述根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,重新渲染所述被測javascript組件,具體包括:
[0018]根據(jù)測試人員選擇的成員函數(shù),在所述被測javascript組件命名空間中獲取并展示該選擇的成員函數(shù)的參數(shù)信息,根據(jù)測試人員設定的參數(shù)值,調(diào)用該選擇的成員函數(shù),并調(diào)用所述渲染接口重新渲染所述被測javascript組件;
[0019]所述根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,輸出該選擇的成員函數(shù)運行后的返回值,具體包括:
[0020]根據(jù)測試人員選擇的成員函數(shù),在所述被測javascript組件命名空間中獲取并展示該選擇的成員函數(shù)的參數(shù)信息,根據(jù)測試人員設定的參數(shù)值,調(diào)用該選擇的成員函數(shù),獲取并展示該選擇的成員函數(shù)運行后得到的返回值。
[0021]根據(jù)本發(fā)明一優(yōu)選實施例,所述根據(jù)測試人員設定的成員變量值,重新渲染所述被測javascript組件,具體包括:
[0022]根據(jù)測試人員選擇的成員變量以及設定的該選擇的成員變量的值,在所述被測javascript組件命名空間中為該選擇的成員變量賦值,調(diào)用所述渲染接口重新渲染所述被測 javascript 組件;
[0023]所述根據(jù)測試人員選擇的成員變量,展示該選擇的成員變量的值,具體包括:
[0024]根據(jù)測試人員選擇的成員變量,在所述被測javascript組件命名空間中獲取并展示該選擇的成員變量的值。
[0025]一種前端javascript組件的測試裝置,該裝置包括:
[0026]分析單元,用于分析被測javascript組件命名空間中的代碼,確定所述被測javascript組件命名空間代碼中的成員函數(shù)和成員變量;
[0027]識別單元,用于根據(jù)預先設立的渲染接口模板集合,識別出所述被測javascript組件命名空間代碼中的渲染接口 ;
[0028]渲染單元,用于調(diào)用所述渲染接口渲染所述被測javascript組件,同時展現(xiàn)所述被測javascript組件命名空間代碼中所有的成員函數(shù)和成員變量。
[0029]根據(jù)本發(fā)明一優(yōu)選實施例,該裝置進一步包括:
[0030]調(diào)試單元,用于根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,重新渲染所述被測javascript組件;
[0031]或者,根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,輸出該選擇的成員函數(shù)運行后的返回值;
[0032]或者,根據(jù)測試人員設定的成員變量值,重新渲染所述被測javascript組件;
[0033]或者,根據(jù)測試人員選擇的成員變量,輸出該選擇的成員變量的值。
[0034]根據(jù)本發(fā)明一優(yōu)選實施例,所述識別單元具體執(zhí)行:
[0035]將所述被測javascript組件命名空間中的成員函數(shù)與所述渲染接口模板集合中的渲染接口進行匹配,若某成員函數(shù)的格式與所述渲染接口模板集合中的某一渲染接口的格式相匹配,則認為所述某成員函數(shù)為渲染接口。
[0036]根據(jù)本發(fā)明一優(yōu)選實施例,所述調(diào)試單元根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,重新渲染所述被測javascript組件,具體執(zhí)行:[0037]根據(jù)測試人員選擇的成員函數(shù),在所述被測javascript組件命名空間中獲取并展示該選擇的成員函數(shù)的參數(shù)信息,根據(jù)測試人員設定的參數(shù)值,調(diào)用該選擇的成員函數(shù),并調(diào)用所述渲染接口重新渲染所述被測javascript組件;
[0038]所述根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,輸出該選擇的成員函數(shù)運行后的返回值,具體執(zhí)行:
[0039]根據(jù)測試人員選擇的成員函數(shù),在所述被測javascript組件命名空間中獲取并展示該選擇的成員函數(shù)的參數(shù)信息,根據(jù)測試人員設定的參數(shù)值,調(diào)用該選擇的成員函數(shù),獲取并展示該選擇的成員函數(shù)運行后得到的返回值。
[0040]根據(jù)本發(fā)明一優(yōu)選實施例,所述調(diào)試單元根據(jù)測試人員設定的成員變量值,重新渲染所述被測javascript組件 ,具體執(zhí)行:
[0041]根據(jù)測試人員選擇的成員變量以及設定的該成員變量的值,在所述被測javascript組件命名空間中為該選擇的成員變量賦值,調(diào)用所述渲染接口重新渲染所述被測 javascript 組件;
[0042]所述根據(jù)測試人員選擇的成員變量,展示該選擇的成員變量的值,具體執(zhí)行:
[0043]根據(jù)測試人員選擇的成員變量,在所述被測javascript組件命名空間中獲取并展示該選擇的成員變量的值。
[0044]由以上技術方案可以看出,本發(fā)明通過靜態(tài)被測javascript組件分析代碼,得到該組件的渲染接口來自動化渲染被測javascript組件,同時能夠展現(xiàn)出該組件的所有成員函數(shù)和成員變量,使得測試人員能夠直觀地觀察組件的內(nèi)部結(jié)構(gòu),同時進行有針對性的測試。
【【專利附圖】
【附圖說明】】
[0045]圖1為本發(fā)明實施例一提供的前端javascript組件的測試方法流程圖;
[0046]圖2為本發(fā)明實施例二提供的前端javascript組件的測試裝置示意圖。
【【具體實施方式】】
[0047]為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。
[0048]javascript組件通常都會向外公開一個api接口,該接口即是使用接口,通過該接口能夠進入到該javascript組件的命名空間,在該命名空間中掛載有該javascript組件能夠讓外部調(diào)用的成員函數(shù)和成員變量,該些成員函數(shù)和成員變量屬于javascript組件的屬性成員,即調(diào)用該些成員函數(shù)和成員變量能夠使用該組件的某些功能或者改變該javascript組件的屬性,因此,查看該些成員函數(shù)的運行結(jié)果和成員變量的值,就能實質(zhì)地判斷出該javascript組件運行是否正常。本發(fā)明正是利用靜態(tài)分析被測javascript組件命名空間中的代碼,識別出其中的渲染接口來自動化渲染該被測javascript組件,同時展現(xiàn)出該被測javascript組件的所有成員函數(shù)和成員變量使得測試人員能夠直觀地觀察到成員函數(shù)的運行結(jié)果和成員變量的值。
[0049]實施例一
[0050]圖1為本發(fā)明實施例一提供的一種javascript組件測試方法流程圖[0051]S101、分析被測javascript組件代碼,遍歷所述被測javascript組件命名空間代碼中的成員函數(shù)和成員變量,并根據(jù)預先設立的渲染接口模板集合,識別出所述被測javascript組件命名空間代碼中的渲染接口,調(diào)用該渲染接口渲染所述被測javascript組件,同時展現(xiàn)所述被測javascript組件命名空間代碼中所有的成員函數(shù)和成員變量。
[0052]被測javascript組件的命名空間內(nèi)掛載著該被測javascript組件能夠讓外部調(diào)用的成員函數(shù)和成員變量,在該些成員函數(shù)中包括渲染接口,調(diào)用該接口便能在頁面上渲染出被測javascript組件。通過該被測javascript組件向外公開的使用接口,靜態(tài)分析該被測javascript組件命名空間的代碼,能夠識別出該命名空間的代碼中的成員函數(shù)和成員變量,同時能夠確定該些成員函數(shù)和成員變量的位置。靜態(tài)分析代碼可以使用第三方工具Lex和Yacc來完成。
[0053]為了能夠?qū)⒈粶yjavascript組件渲染出來,需要從所識別出的成員函數(shù)中確定該被測javascript組件的渲染接口。渲染接口通常都具有一些固定的格式,在測試前,可以預先建立一個渲染接口模板集合,在這個集合中保存所有可能的渲染接口模板,之后,將靜態(tài)分析代碼得到被測javascript組件命名空間中的成員函數(shù)與該渲染接口模板集合中的渲染接口進行匹配,識別出其中的渲染接口,即如果發(fā)現(xiàn)某一成員函數(shù)與渲染接口模板集合中的某一渲染接口模板相匹配,那么就認為該成員函數(shù)為渲染接口,直接調(diào)用該成員函數(shù)將該被測javascript組件自動在頁面上渲染出來。例如,常用的渲染接口有“exports.render”、“exports.1nit”、“exports.1nitialize”等,將這些值染接口保存到值染接口模板集合中,之后,將被測javascript組件命名空間中的成員函數(shù)與渲染接口模板集合中的渲染接口進行匹配,若發(fā)現(xiàn)某一成員函數(shù)為“exports, init”,則認為該成員函數(shù)為渲染接口。
[0054]同時,在靜態(tài)分析代碼之后,確定被測javascript組件命名空間掛載的成員函數(shù)和成員變量的位置,將成員函數(shù)和成員變量以列表的形式直接在頁面中展示出來,使得可以進行更進一步的后續(xù)測試。
[0055]S102、根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù),動態(tài)渲染所述被測javascript組件;或者,根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù),輸出該成員函數(shù)的返回值;或者,根據(jù)測試人員設定的成員變量值,動態(tài)渲染所述被測javascript組件;或者,根據(jù)測試人員選擇的成員變量,輸出該成員變量的值。
[0056]在步驟SlOl中展現(xiàn)出被測javascript組件可以供外部調(diào)用的成員函數(shù)和成員變量后,測試人員可以根據(jù)測試需要選擇某一個成員函數(shù),之后根據(jù)步驟S 101中所確定命名空間代碼中的該成員函數(shù)的位置,獲取調(diào)用該成員函數(shù)所需要的參數(shù)信息(包括參數(shù)類型,數(shù)量),將該參數(shù)信息展現(xiàn)給測試人員,測試人員可以根據(jù)測試需要,設定調(diào)用該成員函數(shù)所需要的各個參數(shù)值。在獲取測試人員設定的調(diào)用該成員函數(shù)所需的參數(shù)值后,根據(jù)該些參數(shù)值調(diào)用該成員函數(shù)。若調(diào)用該成員函數(shù)會改變被測javascript組件的渲染效果,例如,該成員函數(shù)的運行會改變被測javascript組件的長、高或標題名稱等,則再次調(diào)用渲染接口來重新渲染出調(diào)用該成員函數(shù)后的被測javascript組件,當然也可以無條件的重新渲染調(diào)用該成員函數(shù)后的被測javascript組件;若該成員函數(shù)運行結(jié)束后會返回一個值,則獲取這個返回值,展示給測試人員。需要說明的是,上述兩個過程可以同時進行,即,在調(diào)用某一成員函數(shù)之后,可以重新渲染被測javascript組件,并同時獲取并展示該成員函數(shù)運行之后的返回值。其中重新渲染被測javascript組件和展示該成員函數(shù)運行之后的返回值也可以僅執(zhí)行其中之一。
[0057]或者,測試人員可以選擇某一成員變量,并根據(jù)測試需要,設定該成員變量的值。在獲取測試人員所設定的該成員變量的值后,根據(jù)步驟SlOl中所確定的該成員變量在被測javascript組件命名空間代碼中的位置找到該成員變量,并將該成員變量賦值為測試人員所設定的值,之后重新渲染出改變該成員變量后的被測javascript組件。
[0058]或者,測試人員可以選擇某一成員變量,查看該成員變量當前值,此時,根據(jù)步驟SlOl中所確定的該成員變量在被測javascript組件命名空間代碼中的位置,獲取該成員變量的當前值并展示給測試人員。
[0059]從上述描述中可以看出,根據(jù)本發(fā)明實施例所提供的方法,在對前端javascript組件進行測試時,能夠自動化將被測javascript組件渲染出來,而不再需要測試人員單獨編寫代碼,同時,能夠使得測試人員有針對性的對被測javascript組件的某些成員函數(shù)或成員變量進行直觀的測試,測試人員可以設定參數(shù)值來調(diào)用某一成員函數(shù),根據(jù)該成員函數(shù)運行后被測javascript組件的渲染效果,或者,直接根據(jù)某一成員函數(shù)的返回值來判斷成員函數(shù)運行是否正常,同樣地,測試人員可以設定某一成員變量的值,之后根據(jù)被測javascript組件的渲染效果,或者,直接根據(jù)某一成員變量的當前值來判斷與該成員變量相關的代碼運行是否正常??梢?,這樣的方法可以使對被測javascript組件的測試更加深入。
[0060]實施例二
[0061]圖2為本發(fā)明實施例二提供的一種前端javascript組件的測試裝置示意圖,如圖2所示,該裝置包括:分析單元10、識別單元20、渲染單元30,還可以包括:調(diào)試單元40。
[0062]分析單元10,用于分析被測javascript組件命名空間中的代碼,確定所述被測javascript組件命名空間代碼中的成員函數(shù)和成員變量。
[0063]被測javascript組件的命名空間內(nèi)掛載著該被測javascript組件能夠讓外部調(diào)用的成員函數(shù)和成員變量,在該些成員函數(shù)中包括渲染接口,調(diào)用該接口便能在頁面上渲染出被測javascript組件。分析單元10通過該被測javascript組件向外公開的使用接口,靜態(tài)分析該被測javascript組件命名空間的代碼,能夠識別出該命名空間的代碼中的成員函數(shù)和成員變量,同時能夠確定該些成員函數(shù)和成員變量的位置。靜態(tài)分析代碼可以使用第三方工具Lex和Yacc來完成。
[0064]識別單元20,用于根據(jù)預先設立的渲染接口模板集合,識別出所述被測javascript組件命名空間代碼中的渲染接口。
[0065]為了能夠?qū)⒈粶yjavascript組件渲染出來,需要從所識別出的成員函數(shù)中確定該被測javascript組件的渲染接口。渲染接口通常都具有一些固定的格式,在測試前,可以預先建立一個渲染接口模板集合,在這個集合中保存所有可能的渲染接口模板,之后,識別單元20將分析單元10靜態(tài)分析代碼得到被測javascript組件命名空間中的成員函數(shù)與該渲染接口模板集合中的渲染接口進行匹配,識別出其中的渲染接口,即如果發(fā)現(xiàn)某一成員函數(shù)與渲染接口模板集合中的某一渲染接口模板相匹配,那么就認為該成員函數(shù)為渲染接 P ο 例如,常用的渲染接 P 有 “exports, render'“exports.1nit”、“exports.1nitialize”等,將這些渲染接口保存到渲染接口模板集合中,之后,將被測javascript組件命名空間中的成員函數(shù)與渲染接口模板集合中的渲染接口進行匹配,若發(fā)現(xiàn)某一成員函數(shù)為“exports, init”,則認為該成員函數(shù)為渲染接口。
[0066]渲染單元30,用于調(diào)用所述渲染接口渲染所述被測javascript組件,同時展現(xiàn)所述被測javascript組件命名空間代碼中所有的成員函數(shù)和成員變量。
[0067]渲染單元30調(diào)用識別單元20所識別出的被測javascript組件命名空間中為渲染接口的成員函數(shù)來將被測javascript組件在頁面上渲染出來。同時,在靜態(tài)分析代碼之后,確定被測javascript組件命名空間掛載的成員函數(shù)和成員變量的位置,渲染單元30將成員函數(shù)和成員變量以列表的形式直接在頁面中展示出來,使得更進一步的后續(xù)的測試中能夠觀察到成員函數(shù)的運行結(jié)果和成員變量的值,或者針對性地選擇某些成員函數(shù)進行測試。
[0068]調(diào)試單元40,用于根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,重新渲染所述被測javascript組件;或者,根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,輸出該成員函數(shù)運行后的返回值;或者,根據(jù)測試人員設定的成員變量值,重新渲染所述被測javascript組件;或者,根據(jù)測試人員選擇的成員變量,輸出該成員變量的值。
[0069]在渲染單元30展現(xiàn)出被測javascript組件可以供外部調(diào)用的成員函數(shù)和成員變量后,測試人員可以根據(jù)測試需要選擇某一個成員函數(shù),之后根據(jù)所確定命名空間代碼中的該成員函數(shù)的位置,獲取調(diào)用該成員函數(shù)所需要的參數(shù)信息(包括參數(shù)類型,數(shù)量),將該參數(shù)信息展現(xiàn)給測試人員,測試人員可以根據(jù)測試需要,設定調(diào)用該成員函數(shù)所需要的各個參數(shù)值。在獲取測試人員設定的調(diào)用該成員函數(shù)所需的參數(shù)值后,根據(jù)該些參數(shù)值調(diào)用該成員函數(shù)。若調(diào)用該成員函數(shù)會改變被測javascript組件的渲染效果,例如,該成員函數(shù)的運行會改變被測javascript組件的長、高或標題名稱等,則再次調(diào)用渲染接口來重新渲染出調(diào)用該成員函數(shù)后的被測javascript組件,當然也可以無條件的重新渲染調(diào)用該成員函數(shù)后的被測javascript組件;若該成員函數(shù)運行結(jié)束后會返回一個值,則獲取這個返回值,展示給測試人員。需要說明的是,上述兩個過程可以同時進行,即,在調(diào)用某一成員函數(shù)之后,可以重新渲染被測javascript組件,并同時獲取并展示該成員函數(shù)運行之后的返回值。其中重新渲染被測javascript組件和展示該成員函數(shù)運行之后的返回值也可以僅執(zhí)行其中之一。
[0070]或者,測試人員可以選擇某一成員變量,并根據(jù)測試需要,設定該成員變量的值。在獲取測試人員所設定的該成員變量的值后,根據(jù)所確定的該成員變量在被測javascript組件命名空間代碼中的位置找到該成員變量,并將該成員變量賦值為測試人員所設定的值,之后重新渲染出改變該成員變量后的被測javascript組件。
[0071]或者,測試人員可以選擇某一成員變量,查看該成員變量當前值,此時,根據(jù)所確定的該成員變量在被測javascript組件命名空間代碼中的位置,獲取該成員變量的當前值并展示給測試人員。
[0072]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
【權利要求】
1.一種前端javascript組件的測試方法,其特征在于,該方法包括: 51、分析被測javascript組件命名空間中的代碼,確定所述被測javascript組件命名空間代碼中的成員函數(shù)和成員變量; 52、根據(jù)預先設立的渲染接口模板集合,識別出所述被測javascript組件命名空間代碼中的渲染接口; 53、調(diào)用所述渲染接口渲染所述被測javascript組件,同時展現(xiàn)所述被測javascript組件命名空間代碼中所有的成員函數(shù)和成員變量。
2.根據(jù)權利要求1所述的方法,其特征在于,在S3之后進一步包括: 54、根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,重新渲染所述被測javascript組件; 或者,根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,輸出該選擇的成員函數(shù)運行后的返回值; 或者,根據(jù)測試人員設定的成員變量值,重新渲染所述被測javascript組件; 或者,根據(jù)測試人員選擇的成員變量,輸出該選擇的成員變量的值。
3.根據(jù)權利要求1所述的方法,其特征在于,所述步驟S2具體包括: 將所述被測javascript組件命名空間中的成員函數(shù)與所述渲染接口模板集合中的渲染接口進行匹配,若某成員函數(shù)的格式與所述渲染接口模板集合中的某一渲染接口的格式相匹配,則認為所述某成員函數(shù)為渲染接口。
4.根據(jù)權利要求2所述的方法,其特征在于,所述根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,重新渲染所述被測javascript組件,具體包括: 根據(jù)測試人員選擇的成員函數(shù),在所述被測javascript組件命名空間中獲取并展示該選擇的成員函數(shù)的參數(shù)信息,根據(jù)測試人員設定的參數(shù)值,調(diào)用該選擇的成員函數(shù),并調(diào)用所述渲染接口重新渲染所述被測javascript組件; 所述根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,輸出該選擇的成員函數(shù)運行后的返回值,具體包括: 根據(jù)測試人員選擇的成員函數(shù),在所述被測javascript組件命名空間中獲取并展示該選擇的成員函數(shù)的參數(shù)信息,根據(jù)測試人員設定的參數(shù)值,調(diào)用該選擇的成員函數(shù),獲取并展示該選擇的成員函數(shù)運行后得到的返回值。
5.根據(jù)權利要求2所述的方法,其特征在于,所述根據(jù)測試人員設定的成員變量值,重新渲染所述被測javascript組件,具體包括: 根據(jù)測試人員選擇的成員變量以及設定的該選擇的成員變量的值,在所述被測javascript組件命名空間中為該選擇的成員變量賦值,調(diào)用所述渲染接口重新渲染所述被測 javascript 組件; 所述根據(jù)測試人員選擇的成員變量,展示該選擇的成員變量的值,具體包括: 根據(jù)測試人員選擇的成員變量,在所述被測javascript組件命名空間中獲取并展示該選擇的成員變量的值。
6.一種前端javascript組件的測試裝置,其特征在于,該裝置包括: 分析單元,用于分析被測javascript組件命名空間中的代碼,確定所述被測javascript組件命名空間代碼中的成員函數(shù)和成員變量;識別單元,用于根據(jù)預先設立的渲染接口模板集合,識別出所述被測javascript組件命名空間代碼中的渲染接口; 渲染單元,用于調(diào)用所述渲染接口渲染所述被測javascript組件,同時展現(xiàn)所述被測javascript組件命名空間代碼中所有的成員函數(shù)和成員變量。
7.根據(jù)權利要求6所述的裝置,其特征在于,該裝置進一步包括: 調(diào)試單元,用于根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,重新渲染所述被測javascript 組件; 或者,根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,輸出該選擇的成員函數(shù)運行后的返回值; 或者,根據(jù)測試人員設定的成員變量值,重新渲染所述被測javascript組件; 或者,根據(jù)測試人員選擇的成員變量,輸出該選擇的成員變量的值。
8.根據(jù)權利要求6所述的裝置,其特征在于,所述識別單元具體執(zhí)行: 將所述被測javascript組件命名空間中的成員函數(shù)與所述渲染接口模板集合中的渲染接口進行匹配,若某成員函數(shù)的格式與所述渲染接口模板集合中的某一渲染接口的格式相匹配,則認為所述某成員函數(shù)為渲染接口。
9.根據(jù) 權利要求7所述的裝置,其特征在于,所述調(diào)試單元根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,重新渲染所述被測javascript組件,具體執(zhí)行: 根據(jù)測試人員選擇的成員函數(shù),在所述被測javascript組件命名空間中獲取并展示該選擇的成員函數(shù)的參數(shù)信息,根據(jù)測試人員設定的參數(shù)值,調(diào)用該選擇的成員函數(shù),并調(diào)用所述渲染接口重新渲染所述被測javascript組件; 所述根據(jù)測試人員選擇的成員函數(shù)以及設定的參數(shù)值,輸出該選擇的成員函數(shù)運行后的返回值,具體執(zhí)行: 根據(jù)測試人員選擇的成員函數(shù),在所述被測javascript組件命名空間中獲取并展示該選擇的成員函數(shù)的參數(shù)信息,根據(jù)測試人員設定的參數(shù)值,調(diào)用該選擇的成員函數(shù),獲取并展示該選擇的成員函數(shù)運行后得到的返回值。
10.根據(jù)權利要求7所述的裝置,其特征在于,所述調(diào)試單元根據(jù)測試人員設定的成員變量值,重新渲染所述被測javascript組件,具體執(zhí)行: 根據(jù)測試人員選擇的成員變量以及設定的該成員變量的值,在所述被測javascript組件命名空間中為該選擇的成員變量賦值,調(diào)用所述渲染接口重新渲染所述被測javascript 組件; 所述根據(jù)測試人員選擇的成員變量,展示該選擇的成員變量的值,具體執(zhí)行: 根據(jù)測試人員選擇的成員變量,在所述被測javascript組件命名空間中獲取并展示該選擇的成員變量的值。
【文檔編號】G06F11/36GK103729287SQ201210391726
【公開日】2014年4月16日 申請日期:2012年10月16日 優(yōu)先權日:2012年10月16日
【發(fā)明者】沈莉霞, 劉英杰 申請人:百度在線網(wǎng)絡技術(北京)有限公司