代碼對(duì)待測(cè)頁面進(jìn)行測(cè)試。在一個(gè)實(shí)施例中,可通過遍歷的方式在預(yù)存的測(cè)試用例表中查詢對(duì)應(yīng)的測(cè)試操作。例如,可遍歷所述測(cè)試用例表,并判斷測(cè)試用例表中的關(guān)鍵字與讀取的關(guān)鍵字是否相同。當(dāng)測(cè)試用例表中的關(guān)鍵字與讀取的關(guān)鍵字相同時(shí),可獲取測(cè)試用例表中的關(guān)鍵字對(duì)應(yīng)的操作代碼,并根據(jù)所述操作代碼對(duì)待測(cè)頁面進(jìn)行測(cè)試。在返回測(cè)試結(jié)果之后,可根據(jù)測(cè)試結(jié)果生成測(cè)試報(bào)告,并將所述測(cè)試報(bào)告發(fā)送到系統(tǒng)前臺(tái)。
[0034]圖2為另一個(gè)實(shí)施例的自動(dòng)化測(cè)試方法流程圖。如圖2所示,本發(fā)明的自動(dòng)化測(cè)試方法可包括以下步驟:
[0035]S21,接收用戶終端發(fā)送的測(cè)試用例的關(guān)鍵字;其中,所述關(guān)鍵字由用戶終端從待測(cè)頁面中提取,所述關(guān)鍵字包括操作信息和位置信息,所述操作信息表示所述用戶終端對(duì)待測(cè)頁面執(zhí)行的操作,所述位置信息表示接收所述操作的對(duì)象在待測(cè)頁面上的位置;
[0036]S22,將所述關(guān)鍵字發(fā)送至后臺(tái)服務(wù)器,并向后臺(tái)服務(wù)器發(fā)送測(cè)試啟動(dòng)指令;其中,所述后臺(tái)服務(wù)器響應(yīng)所述測(cè)試啟動(dòng)指令,在預(yù)存的測(cè)試用例表中查詢所述關(guān)鍵字對(duì)應(yīng)的操作代碼,并根據(jù)所述操作代碼對(duì)待測(cè)頁面進(jìn)行測(cè)試;
[0037]S23,接收后臺(tái)服務(wù)器返回的測(cè)試結(jié)果。
[0038]所述自動(dòng)化測(cè)試可以是對(duì)網(wǎng)頁的自動(dòng)化測(cè)試,還可以是應(yīng)用程序的自動(dòng)化測(cè)試,接口測(cè)試等。以網(wǎng)頁自動(dòng)化測(cè)試為例,用戶終端可首先從待測(cè)頁面中提取測(cè)試用例所需的關(guān)鍵字,并將所述關(guān)鍵字發(fā)送到系統(tǒng)前臺(tái),通過系統(tǒng)前臺(tái)提交測(cè)試用例所需的關(guān)鍵字,例如,點(diǎn)擊關(guān)鍵字“Click”,輸入文本關(guān)鍵字“Input”等。所述關(guān)鍵字可包括操作信息和位置信息,所述操作信息表示所述用戶終端對(duì)待測(cè)頁面執(zhí)行的操作,所述位置信息表示接收所述操作的對(duì)象在待測(cè)頁面上的位置。例如,當(dāng)用戶終端需要在待測(cè)html頁面上坐標(biāo)為(X,y)處輸入“蘋果”時(shí),可在待測(cè)html頁面上輸入input ( “蘋果”,(x,y))??赏ㄟ^ajax (Asynchronous Javascript And XML,異步 JavaScript 和 XML)將所述關(guān)鍵字提交至PHP (Hypertext Preprocessor,超文本預(yù)處理器)服務(wù)端。還可將所述相關(guān)字段提交到數(shù)據(jù)庫,作為測(cè)試數(shù)據(jù)關(guān)鍵信息保存。當(dāng)需要進(jìn)行測(cè)試時(shí),用戶可通過系統(tǒng)前臺(tái)發(fā)送測(cè)試啟動(dòng)指令。后臺(tái)服務(wù)器在收到測(cè)試啟動(dòng)指令之后,可響應(yīng)所述測(cè)試啟動(dòng)指令,運(yùn)行windows批處理文件來啟動(dòng)測(cè)試進(jìn)程,并通過所述測(cè)試進(jìn)程從數(shù)據(jù)庫中讀取所述測(cè)試指令。在一個(gè)實(shí)施例中,所述windows批處理文件可以是run.bat文件,所述測(cè)試進(jìn)程可以是Webdriver進(jìn)程。
[0039]測(cè)試操作在本發(fā)明的自動(dòng)化測(cè)試平臺(tái)上進(jìn)行??深A(yù)先將自動(dòng)化測(cè)試所需的工具包和環(huán)境框架存儲(chǔ)在服務(wù)器中,根據(jù)所述工具包和環(huán)境框架搭建所述自動(dòng)化測(cè)試平臺(tái),并在所述自動(dòng)化測(cè)試平臺(tái)上對(duì)待測(cè)頁面進(jìn)行測(cè)試。當(dāng)需要更新所述自動(dòng)化測(cè)試平臺(tái)時(shí),可由平臺(tái)維護(hù)人員直接對(duì)存儲(chǔ)在服務(wù)器中的工具包和環(huán)境框架進(jìn)行更新,無需在每個(gè)用戶終端都進(jìn)行更新操作,從而實(shí)現(xiàn)了服務(wù)端一次維護(hù),任意用戶通過不同終端均可享受的益處,提高了測(cè)試效率。
[0040]在讀取所述測(cè)試指令之后,可在預(yù)存的測(cè)試用例表中查詢所述關(guān)鍵字對(duì)應(yīng)的操作代碼,并根據(jù)所述操作代碼對(duì)待測(cè)頁面進(jìn)行測(cè)試。在一個(gè)實(shí)施例中,可通過遍歷的方式在預(yù)存的測(cè)試用例表中查詢對(duì)應(yīng)的測(cè)試操作。例如,可遍歷所述測(cè)試用例表,并判斷測(cè)試用例表中的關(guān)鍵字與讀取的關(guān)鍵字是否相同。當(dāng)測(cè)試用例表中的關(guān)鍵字與讀取的關(guān)鍵字相同時(shí),可獲取測(cè)試用例表中的關(guān)鍵字對(duì)應(yīng)的操作代碼,并根據(jù)所述操作代碼對(duì)待測(cè)頁面進(jìn)行測(cè)試。在返回測(cè)試結(jié)果之后,可根據(jù)測(cè)試結(jié)果生成測(cè)試報(bào)告,并將所述測(cè)試報(bào)告發(fā)送到系統(tǒng)前臺(tái)。
[0041]上述自動(dòng)化測(cè)試方法,將自動(dòng)化測(cè)試平臺(tái)劃分為三個(gè)部分:
[0042](1)系統(tǒng)前臺(tái),執(zhí)行以下功能:
[0043]數(shù)據(jù)提交:提交測(cè)試用例所需的關(guān)鍵字,如點(diǎn)擊關(guān)鍵字“Click”,輸入文本關(guān)鍵字“Input”等,將所述關(guān)鍵字提交至PHP服務(wù)端;
[0044]測(cè)試啟動(dòng):向PHP服務(wù)端發(fā)送測(cè)試啟動(dòng)指令,啟動(dòng)所述自動(dòng)化測(cè)試。
[0045](2)PHP服務(wù)端,執(zhí)行以下功能:
[0046]自動(dòng)化測(cè)試數(shù)據(jù)保存:接收系統(tǒng)前臺(tái)發(fā)送的參數(shù),提交到數(shù)據(jù)庫,作為測(cè)試數(shù)據(jù)關(guān)鍵信息保存;
[0047]自動(dòng)化執(zhí)行:接收測(cè)試啟動(dòng)指令,啟動(dòng)測(cè)試進(jìn)程。
[0048](3)服務(wù)端,執(zhí)行以下功能:
[0049]環(huán)境框架:服務(wù)端存放自動(dòng)化所需要的各類工具包及框架;
[0050]執(zhí)行測(cè)試:測(cè)試進(jìn)程從數(shù)據(jù)庫讀取用例相應(yīng)字段,遍歷測(cè)試用例表,當(dāng)判斷測(cè)試用例中的關(guān)鍵字與讀取到的關(guān)鍵字一致時(shí),執(zhí)行測(cè)試用例,并生成相應(yīng)Log及報(bào)告文件,展示于前端的待測(cè)頁面。
[0051]上述自動(dòng)化測(cè)試方法具有以下優(yōu)點(diǎn):
[0052](1)測(cè)試時(shí)只需輸入簡(jiǎn)單的測(cè)試用例關(guān)鍵字,無需掌握復(fù)雜的測(cè)試代碼,降低了自動(dòng)化測(cè)試人員入門門檻;
[0053](2)將測(cè)試所需的工具包及框架存放在服務(wù)器中,更新時(shí),只需對(duì)服務(wù)器中的工具包及框架進(jìn)行更新,不需要每個(gè)用戶終端都進(jìn)行更新,提高了測(cè)試效率,測(cè)試平臺(tái)環(huán)境可多用戶并發(fā)使用。
[0054]下面結(jié)合附圖對(duì)本發(fā)明的自動(dòng)化測(cè)試系統(tǒng)的實(shí)施例進(jìn)行描述。
[0055]圖3為一個(gè)實(shí)施例的自動(dòng)化測(cè)試系統(tǒng)的結(jié)構(gòu)示意圖。如圖3所示,本發(fā)明的自動(dòng)化測(cè)試系統(tǒng)可包括:
[0056]第一接收模塊110,用于從系統(tǒng)前臺(tái)接收測(cè)試用例的關(guān)鍵字;其中,所述關(guān)鍵字在待測(cè)頁面中提取,并由用戶終端發(fā)送至系統(tǒng)前臺(tái),且所述關(guān)鍵字包括操作信息和位置信息,所述操作信息表示所述用戶終端對(duì)待測(cè)頁面執(zhí)行的操作,所述位置信息表示接收所述操作的對(duì)象在待測(cè)頁面上的位置;
[0057]測(cè)試模塊120,用于在從系統(tǒng)前臺(tái)接收測(cè)試啟動(dòng)指令之后,響應(yīng)所述測(cè)試啟動(dòng)指令,在預(yù)存的測(cè)試用例表中查詢所述關(guān)鍵字對(duì)應(yīng)的操作代碼,并根據(jù)所述操作代碼對(duì)待測(cè)頁面進(jìn)行測(cè)試;
[0058]第一發(fā)送模塊130,用于將測(cè)試結(jié)果發(fā)送至系統(tǒng)前臺(tái)。
[0059]其中,所述測(cè)試模塊120可包括遍歷單元,判斷單元,獲取單元和測(cè)試單元。所述遍歷單元用于遍歷所述測(cè)試用例表;所述判斷單元用于判斷測(cè)試用例表中的關(guān)鍵字與從待測(cè)頁面接收到的關(guān)鍵字是否相同;所述獲取單元用于相同時(shí),獲取測(cè)試用例表中的關(guān)鍵字對(duì)應(yīng)的操作代碼;所述測(cè)試單元用于根據(jù)所述操作代碼對(duì)待測(cè)頁面進(jìn)行測(cè)試。
[0060]在一個(gè)實(shí)施例中,所述自動(dòng)化測(cè)試系統(tǒng)還可包括生成模塊和第二發(fā)送模塊,所述生成模塊用于根據(jù)測(cè)試結(jié)果生成測(cè)試報(bào)告;所述第二發(fā)送模塊用于將所述測(cè)試報(bào)告發(fā)送到系統(tǒng)前臺(tái)。
[0061]在一個(gè)實(shí)施例中,所述測(cè)試模塊120還可包括運(yùn)行單元,啟動(dòng)單元和讀取單元。所述運(yùn)行單元用于響應(yīng)所述測(cè)試啟動(dòng)指令,運(yùn)行windows批處理文件;其中,所述windows批處理文件用于啟動(dòng)測(cè)試進(jìn)程;所述啟動(dòng)單元用于通過所述windows批處理文件啟動(dòng)測(cè)試進(jìn)程;所述讀取單元用于通過所述測(cè)試進(jìn)程讀取測(cè)試用例表中的關(guān)鍵字。
[0062]圖4為另一個(gè)實(shí)施例的自動(dòng)化測(cè)試系統(tǒng)的結(jié)構(gòu)示意圖。如圖4所示,本發(fā)明的自動(dòng)化測(cè)試系統(tǒng)可包括:
[0063]第二接收模塊210,用于接收用戶終端發(fā)送的測(cè)試用例的關(guān)鍵字;其中,所述關(guān)鍵字由用戶終端從待測(cè)頁面中提取,所述關(guān)鍵字包括操作信息和位置信息,所述操作信息表示所述用戶終端對(duì)待測(cè)頁面執(zhí)行的操作,所述位置信息表示接收所述操作的對(duì)象在待測(cè)頁面上的位置;
[0064]第三發(fā)送模塊220,用于將所述關(guān)鍵字發(fā)送至后臺(tái)服務(wù)器,并向后臺(tái)服務(wù)器發(fā)送測(cè)試啟動(dòng)指令;其中,所述后臺(tái)服務(wù)器響應(yīng)所述測(cè)試啟動(dòng)指令,在預(yù)存的測(cè)試用例表中查詢所述關(guān)鍵字對(duì)應(yīng)的操作代碼,并根據(jù)所述操作代碼對(duì)待測(cè)頁面進(jìn)行測(cè)試;