專利名稱:測試數(shù)據(jù)的獲取方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請涉及計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體而言,涉及一種測試數(shù)據(jù)的獲取方法、裝置及系統(tǒng)。
背景技術(shù):
web自動化測試是指測試程序自動對一個web系統(tǒng)(比如,電子購物網(wǎng)站)進行測試,測試web系統(tǒng)的若干個重要的流程是否通暢,以及流程各個步驟的執(zhí)行結(jié)果是否正確,例如,可以測試電子購物網(wǎng)站的檢索——>查看貨物詳細(xì)信息——>登錄——>付費流程是否通暢,并檢測在這個過程中各個步驟的執(zhí)行結(jié)果是否正確,例如,判斷檢索的結(jié)果 是否正確,貨物詳細(xì) 目息顯不的是不是正確等。在web自動化測試過程中,web自動化測試裝置需要獲取一定的測試數(shù)據(jù)以執(zhí)行測試程序,例如,對于上述電子購物網(wǎng)站的測試過程,在執(zhí)行“登錄”步驟時,web自動化測試裝置需要獲取一個已在該電子購物網(wǎng)站注冊的賬號及密碼等相關(guān)信息進行登錄,而在“付費”流程中,web自動化測試裝置需要獲取一個銀行賬號或支付賬號及密碼等信息,以完成付費。目前,web自動化測試中,測試數(shù)據(jù)的準(zhǔn)備普遍是采用通過結(jié)構(gòu)化查詢語言(SQL)的方式來初始化或者生成測試數(shù)據(jù)存入本地的數(shù)據(jù)庫中。在web自動化測試過程中,在需要獲取測試數(shù)據(jù)時,根據(jù)需要獲得的測試數(shù)據(jù)構(gòu)造關(guān)鍵字,然后通過SQL從本地數(shù)據(jù)庫中查詢該關(guān)鍵字,從而獲取相應(yīng)的測試數(shù)據(jù),執(zhí)行測試過程?,F(xiàn)有技術(shù)中的上述測試數(shù)據(jù)的準(zhǔn)備方法對于業(yè)務(wù)數(shù)據(jù)量較簡單的情況比較適用,但是對于復(fù)雜的業(yè)務(wù)數(shù)據(jù)而言,編寫初始化SQL以及后期維護的成本比較高,并且,在web自動化測試過程中,只能從本地的數(shù)據(jù)庫中獲取測試數(shù)據(jù),如果web自動化測試過程中需要用到的測試數(shù)據(jù)沒有保存在本地數(shù)據(jù)庫中,則web自動化測試裝置獲取不到相應(yīng)的測試數(shù)據(jù),從而無法完成相應(yīng)的測試,降低了 web自動化測試的性能。
發(fā)明內(nèi)容
本申請的主要目的在于提供一種測試數(shù)據(jù)的獲取方法、裝置及系統(tǒng),以至少解決上述問題之一。根據(jù)本申請的一個方面,提供了一種測試數(shù)據(jù)的獲取方法,包括以下步驟:web應(yīng)用模塊接收web自動化測試裝置發(fā)送的請求,其中,該請求中攜帶有獲取web自動化測試裝置執(zhí)行web自動化測試需要的測試數(shù)據(jù)的參數(shù);web應(yīng)用模塊根據(jù)請求中攜帶的參數(shù),調(diào)用與該參數(shù)對應(yīng)的數(shù)據(jù)準(zhǔn)備代理執(zhí)行測試數(shù)據(jù)的獲??;web應(yīng)用模塊將數(shù)據(jù)準(zhǔn)備代理獲取的測試數(shù)據(jù)返回給web自動化測試裝置。優(yōu)選地,web應(yīng)用模塊調(diào)用與上述參數(shù)對應(yīng)的數(shù)據(jù)準(zhǔn)備代理執(zhí)行測試數(shù)據(jù)的獲取包括:web應(yīng)用模塊調(diào)用數(shù)據(jù)準(zhǔn)備代理,將上述參數(shù)傳遞給數(shù)據(jù)準(zhǔn)備代理;數(shù)據(jù)準(zhǔn)備代理根據(jù)該參數(shù),執(zhí)行測試數(shù)據(jù)的獲取。
優(yōu)選地,數(shù)據(jù)準(zhǔn)備代理通過以下方式之一或其任意組合執(zhí)行測試數(shù)據(jù)的獲取包括數(shù)據(jù)準(zhǔn)備代理通過結(jié)構(gòu)化查詢語言的方式,獲取本地或外部數(shù)據(jù)庫中存儲的與上述參數(shù)對應(yīng)的測試數(shù)據(jù);數(shù)據(jù)準(zhǔn)備代理通過調(diào)用遠(yuǎn)程服務(wù),獲取與上述參數(shù)對應(yīng)的測試數(shù)據(jù); 數(shù)據(jù)準(zhǔn)備代理通過向遠(yuǎn)端服務(wù)器發(fā)送超文本傳輸協(xié)議(http)請求,從遠(yuǎn)端服務(wù)器獲取與該參數(shù)對應(yīng)的測試數(shù)據(jù)。
優(yōu)選地,web應(yīng)用模塊接收web自動化測試裝置發(fā)送請求包括web自動化測試裝置調(diào)用web應(yīng)用模塊的http接口,向web應(yīng)用模塊發(fā)送請求,請求獲取測試數(shù)據(jù);web應(yīng)用模塊接收該請求。
優(yōu)選地,web應(yīng)用模塊接收web自動化測試裝置發(fā)送請求包括web自動化測試裝置響應(yīng)于用戶的操作,向web應(yīng)用模塊發(fā)送http請求,請求獲取測試數(shù)據(jù);web應(yīng)用模塊接收該http請求。
根據(jù)本申請的另一個方面,還提供了一種測試數(shù)據(jù)的獲取裝置,位于web應(yīng)用模塊側(cè),包括接收模塊,用于接收web自動化測試裝置發(fā)送的請求,其中,該請求中攜帶有獲取web自動化測試裝置執(zhí)行web自動化測試需要的測試數(shù)據(jù)的參數(shù);獲取模塊,用于根據(jù)該請求中攜帶的參數(shù),調(diào)用與該參數(shù)對應(yīng)的數(shù)據(jù)準(zhǔn)備代理執(zhí)行測試數(shù)據(jù)的獲??;發(fā)送模塊,用于將數(shù)據(jù)準(zhǔn)備代理獲取的測試數(shù)據(jù)返回給web自動化測試裝置。
優(yōu)選地,該裝置還包括http接口模塊,接收模塊 通過http接口模塊接收web自動化測試裝置發(fā)送的上述請求,獲取模塊通過http接口模塊調(diào)用數(shù)據(jù)準(zhǔn)備代理。
根據(jù)本申請的又一個方面,還提供了另一種測試數(shù)據(jù)的獲取方法,包括以下步驟 web自動化測試裝置確定執(zhí)行web自動化測試需要的測試數(shù)據(jù);web自動化測試裝置向web 應(yīng)用模塊發(fā)送請求,請求獲取測試數(shù)據(jù),其中,請求中攜帶有獲取測試數(shù)據(jù)的參數(shù);web自動化測試裝置接收web應(yīng)用模塊返回的測試數(shù)據(jù),其中,測試數(shù)據(jù)是web應(yīng)用模塊通過調(diào)用數(shù)據(jù)準(zhǔn)備代理執(zhí)行請求獲取的。
優(yōu)選地,web自動化測試裝置向web應(yīng)用模塊請求獲取測試數(shù)據(jù)包括web自動化測試裝置調(diào)用web應(yīng)用模塊的http接口,向web應(yīng)用模塊發(fā)送請求,請求獲取測試數(shù)據(jù);或者,web自動化測試裝置響應(yīng)于用戶的操作,向web應(yīng)用模塊發(fā)送http請求,請求獲取測試數(shù)據(jù)。
根據(jù)本申請的再一個,提供了另一種測試數(shù)據(jù)的獲取裝置,位于web自動化測試裝置側(cè),包括確定模塊,用于確定web自動化測試裝置執(zhí)行web自動化測試需要的測試數(shù)據(jù);發(fā)送模塊,用于向web應(yīng)用模塊發(fā)送請求,請求獲取測試數(shù)據(jù),其中,該請求中攜帶有獲取測試數(shù)據(jù)的參數(shù);接收模塊,用于接收web應(yīng)用模塊返回的測試數(shù)據(jù),其中,測試數(shù)據(jù)是 web應(yīng)用模塊通過調(diào)用數(shù)據(jù)準(zhǔn)備代理執(zhí)行請求獲取的。
優(yōu)選地,發(fā)送模塊用于以以下方式之一向web應(yīng)用模塊請求獲取測試數(shù)據(jù)調(diào)用 web應(yīng)用模塊的http接口,向web應(yīng)用模塊發(fā)送請求,請求獲取測試數(shù)據(jù);響應(yīng)于用戶的操作,向web應(yīng)用模塊發(fā)送http請求,請求獲取測試數(shù)據(jù)。
根據(jù)本申請的又一個方面,提供了一種測試數(shù)據(jù)的獲取系統(tǒng),包括:web自動化測試裝置、web應(yīng)用模塊和數(shù)據(jù)準(zhǔn)備代理,其中,web自動化測試裝置,包括上述的位于web自動化測試裝置側(cè)的裝置;web應(yīng)用模塊,包括上述的位于web應(yīng)用模塊側(cè)的裝置;數(shù)據(jù)準(zhǔn)備代理,用于根據(jù)web應(yīng)用模塊傳遞的參數(shù)執(zhí)行測試數(shù)據(jù)的獲取。
優(yōu)選地,數(shù)據(jù)準(zhǔn)備代理用于以以下方式之一或其任意組合獲取測試數(shù)據(jù)通過結(jié)構(gòu)化查詢語言方式,獲取本地或外部數(shù)據(jù)庫中存儲的與參數(shù)對應(yīng)的測試數(shù)據(jù);通過調(diào)用遠(yuǎn)程服務(wù),獲取與參數(shù)對應(yīng)的測試數(shù)據(jù);通過向遠(yuǎn)端服務(wù)器發(fā)送超文本傳輸協(xié)議(http請求),從遠(yuǎn)端服務(wù)器獲取與參數(shù)對應(yīng)的測試數(shù)據(jù)。通過本申請,web自動化測試裝置可以通過web應(yīng)用模塊從數(shù)據(jù)準(zhǔn)備代理獲取測試數(shù)據(jù),而不是從web自動化測試裝置本地保存的數(shù)據(jù)庫中獲取測試數(shù)據(jù),解決了現(xiàn)有技術(shù)中初始化測試數(shù)據(jù)及后期維護的成本比較高,以及無法獲取數(shù)據(jù)庫存儲之外的測試數(shù)據(jù)而導(dǎo)致無法完成相應(yīng)的測試的問題,進而提高了測試數(shù)據(jù)獲取的效率,降低了測試數(shù)據(jù)獲取的復(fù)雜度和維護成本。
此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中圖1是根據(jù)本申請的測試數(shù)據(jù)的獲取系統(tǒng)的結(jié)構(gòu)示意圖;圖2是根據(jù)本申請實施例優(yōu)選的測試數(shù)據(jù)的獲取系統(tǒng)的結(jié)構(gòu)示意圖;圖3是根據(jù)本申請實施例的測試數(shù)據(jù)的獲取裝置的結(jié)構(gòu)示意圖;圖4是根據(jù)本申請實施例優(yōu)選的測試數(shù)據(jù)的獲取裝置的結(jié)構(gòu)示意圖;圖5是根據(jù)本申請實施例的另一種測試數(shù)據(jù)的獲取裝置的結(jié)構(gòu)示意圖;圖6是根據(jù)本申請實施例的測試數(shù)據(jù)的獲取方法的流程圖;圖7是根據(jù)本申請實施例的另一種測試數(shù)據(jù)的獲取方法的流程圖;圖8是根據(jù)本申請優(yōu)選實施的測試數(shù)據(jù)的獲取方法的流程圖;以及圖9是根據(jù)本申請優(yōu)選實施的另一測試數(shù)據(jù)的獲取方法的流程圖。
具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本申請。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。以下實施例中,web自動化測試裝置是指執(zhí)行web自動化測試的設(shè)備,可以是一段可以自動執(zhí)行測試的程序,例如,web自動化腳本程序;web應(yīng)用模塊可以是運行在服務(wù)器上的web應(yīng)用程序,用于向web自動化測試裝置提供測試數(shù)據(jù);數(shù)據(jù)準(zhǔn)備代理(agent)用于完成測試數(shù)據(jù)準(zhǔn)備,例如,可以為執(zhí)行測試數(shù)據(jù)準(zhǔn)備的程序代碼。圖1是根據(jù)本申請實施例的測試數(shù)據(jù)的獲取系統(tǒng)的結(jié)構(gòu)示意圖,如圖1所示,該系統(tǒng)主要包括web自動化測試裝置10、web應(yīng)用模塊20和數(shù)據(jù)準(zhǔn)備代理30。其中,web自動化測試裝置10,用于向web應(yīng)用模塊20發(fā)送請求,請求獲取執(zhí)行web自動化測試所需的測試數(shù)據(jù),其中,該請求中攜帶有獲取該測試數(shù)據(jù)的參數(shù),例如,在對登錄流程進行測試時,web自動化測試裝置10可以向web應(yīng)用模塊20發(fā)送請求,請求獲取用戶注冊的賬號和密碼,該請求中可以攜帶參數(shù)“ID, password”;web應(yīng)用模塊20,與web自動化測試裝置10連接,例如,web應(yīng)用模塊20可以通過網(wǎng)絡(luò)與web自動化測試裝置10連接,web應(yīng)用模塊20用于在接收到來自web自動化測試裝置20的請求后,調(diào)用數(shù)據(jù)準(zhǔn)備代理30執(zhí)行測試數(shù)據(jù)的獲取,并將獲取的測試數(shù)據(jù)返回給web自動化測試裝置10,其中,數(shù)據(jù)準(zhǔn)備代理30可以為多個,web應(yīng)用模塊20可以根據(jù)上述參數(shù)確定需要調(diào)用的數(shù)據(jù)準(zhǔn)備代理30,然后將該參數(shù)傳遞給對應(yīng)的數(shù)據(jù)準(zhǔn)備代理30 ;數(shù)據(jù)準(zhǔn)備代理30,用于根據(jù)上述參數(shù),執(zhí)行測試數(shù)據(jù)的獲取。其中,數(shù)據(jù)準(zhǔn)備代理30可以與web應(yīng)用模塊20位于同一個服務(wù)器中,也可以與web應(yīng)用模塊20位于不同的服務(wù)器中。
通過本申請?zhí)峁┑纳鲜鰷y試數(shù)據(jù)的獲取系統(tǒng),web自動化測試裝置與測試數(shù)據(jù)分離,web自動化測試裝置通過web應(yīng)用模塊20從數(shù)據(jù)準(zhǔn)備代理30中獲取測試數(shù)據(jù),從而可以由web應(yīng)用模塊20對從數(shù)據(jù)準(zhǔn)備代理30獲取測試數(shù)據(jù)進行統(tǒng)一的維護,降低了測試數(shù)據(jù)維護成本,并且,在初始階段,也不需要在web自動化測試裝置側(cè)生成測試數(shù)據(jù),從而避免了初始化測試數(shù)據(jù)帶來的不便。
在本申請的一個優(yōu)選實施方式中,為了提高測試的自動化程序,web自動化測試裝置10可以通過運行web自動化腳本執(zhí)行web自動化測試,web應(yīng)用模塊20可以對外提供一個http接口,web自動化腳本在執(zhí)行web自動化測試過程中,可以通過調(diào)用該http接口向 web應(yīng)用模塊20發(fā)送獲取測試數(shù)據(jù)的請求,圖2是根據(jù)本申請實施例的優(yōu)選的測試數(shù)據(jù)的獲取系統(tǒng)的結(jié)構(gòu)示意圖,在圖2中,web應(yīng)用模塊20用于對數(shù)據(jù)準(zhǔn)備代理30進行管理和調(diào)度執(zhí)行,并對外提供一個http接口,供web自動化腳本102(運行在web自動化測試裝置10 上)調(diào)用,該http接口負(fù)責(zé)接收web自動化腳本102發(fā)送的請求獲取測試數(shù)據(jù)的請求,并將該請求中攜帶的參數(shù)傳遞給數(shù)據(jù)準(zhǔn)備代理30,將數(shù)據(jù)準(zhǔn)備代理30的執(zhí)行結(jié)果返回給web 自動化腳本102 ;數(shù)據(jù)準(zhǔn)備代理30,用于根據(jù)web應(yīng)用模塊20的http接口傳遞的參數(shù),執(zhí)行測試數(shù)據(jù)的獲取。在該優(yōu)選實施方式中,web自動化腳本102可以在測試開始時或測試執(zhí)行過程中自動調(diào)用web應(yīng)用模塊20的http接口獲取測試數(shù)據(jù),而不需要由用戶操作獲取,因此,提高了測試數(shù)據(jù)的獲取效率。
在本實施例的一個優(yōu)選實施方式中,數(shù)據(jù)準(zhǔn)備代理30可以為完成測試數(shù)據(jù)獲取的一段代碼,例如,可以是一段空殼(shell)程序,也可以是具體的SQL查詢語句或java代碼,具體本申請不做限定。而數(shù)據(jù)準(zhǔn)備代理30在獲取測試數(shù)據(jù)時,可以通過以下方式之一或其組合實現(xiàn)(I)通過SQL的方式,從數(shù)據(jù)準(zhǔn)備代理30本地存儲的數(shù)據(jù)庫獲取與上述參數(shù)對應(yīng)的測試數(shù)據(jù),或者,數(shù)據(jù)準(zhǔn)備代理30也可以從與之連接的其他設(shè)備中存 儲的數(shù)據(jù)庫中獲取與上述參數(shù)對應(yīng)的測試數(shù)據(jù),例如,從存儲在與數(shù)據(jù)準(zhǔn)備代理30位于同一局域網(wǎng)的存儲設(shè)備中的數(shù)據(jù)庫中獲取與上述參數(shù)對應(yīng)的測試數(shù)據(jù);(2)數(shù)據(jù)準(zhǔn)備代理30作為客戶端通過調(diào)用遠(yuǎn)程服務(wù),獲取與上述參數(shù)對應(yīng)的測試數(shù)據(jù),例如,在web系統(tǒng)中,服務(wù)器經(jīng)常采用java程序的rmi和hession等方式提供遠(yuǎn)程服務(wù),用于提供某種服務(wù),比如運費服務(wù)、 訂單服務(wù)、支付服務(wù)等,在本實施例的優(yōu)選實施方式中,數(shù)據(jù)準(zhǔn)備代理30可以通過調(diào)用服務(wù)器提供的這些服務(wù)來構(gòu)造的測試數(shù)據(jù)。無論哪種協(xié)議的遠(yuǎn)程服務(wù),其調(diào)用方式都是類似的,客戶端只要本地存有服務(wù)接口的定義,然后按照協(xié)議的格式組裝參數(shù)調(diào)用相應(yīng)方法即可;(3)通過向遠(yuǎn)端服務(wù)器發(fā)送http請求,從遠(yuǎn)端服務(wù)器獲取與上述參數(shù)對應(yīng)的測試數(shù)據(jù), 例如,數(shù)據(jù)準(zhǔn)備代理30可以向遠(yuǎn)端服務(wù)器發(fā)送攜帶上述參數(shù)的http請求,遠(yuǎn)端服務(wù)器響應(yīng)于該http請求,向數(shù)據(jù)準(zhǔn)備代理30返回相應(yīng)的測試數(shù)據(jù),其中,遠(yuǎn)端服務(wù)器可以是網(wǎng)絡(luò)中與web自動化測試裝置執(zhí)行的測試相關(guān)各種服務(wù)器,例如,在對某個web系統(tǒng)進行付費測試時,可能會需要獲取用戶的銀行賬戶,則數(shù)據(jù)準(zhǔn)備代理30可以根據(jù)web應(yīng)用模塊提供的參數(shù),向存儲用戶的銀行帳戶的遠(yuǎn)端服務(wù)器發(fā)送http請求,以獲取用戶的銀行賬戶。在該優(yōu)選實施方式中,數(shù)據(jù)準(zhǔn)備代理30可以采用多種方式獲取測試數(shù)據(jù),而不僅限于本地保存的測試數(shù)據(jù),從而擴展了測試數(shù)據(jù)的來源,保證web自動化測試的需求,提高了 web自動化測試的準(zhǔn)確率。圖3是本申請實施例的位于web應(yīng)用模塊20側(cè)的測試數(shù)據(jù)的獲取裝置的結(jié)構(gòu)示意圖,該裝置可以用于實現(xiàn)上述圖1或圖2所示的web應(yīng)用模塊20。如圖3所示,該裝置可以包括第一接收模塊302,用于接收web自動化測試裝置10發(fā)送的請求,其中,該請求中攜帶有獲取web自動化測試裝置10執(zhí)行web自動化測試需要的測試數(shù)據(jù)的參數(shù);獲取模塊304,用于根據(jù)該請求中攜帶的參數(shù),調(diào)用與該參數(shù)對應(yīng)的數(shù)據(jù)準(zhǔn)備代理30執(zhí)行測試數(shù)據(jù)的獲??;第一發(fā)送模塊306,用于將數(shù)據(jù)準(zhǔn)備代理30獲取的測試數(shù)據(jù)返回給web自動化測試裝置10。通過本實施例的位于web應(yīng)用模塊20側(cè)的測試數(shù)據(jù)的獲取裝置,可以在接收到web自動化測試裝置10的請求時,響應(yīng)該請求,調(diào)用數(shù)據(jù)準(zhǔn)備代理30獲取相應(yīng)的測試數(shù)據(jù),并將獲取的測試數(shù)據(jù)返回給web自動化測試裝置10,從而使得web自動化測試裝置10可以從外部獲取測試數(shù)據(jù),實現(xiàn)了 web自動化測試與測試數(shù)據(jù)的分離,提高了測試數(shù)據(jù)維護的 方便性,降低了測試數(shù)據(jù)準(zhǔn)備的復(fù)雜度和維護成本。在本實施例的一個優(yōu)選實施方式中,為了使web自動化測試裝置10可以實現(xiàn)自動化測試,如圖4所示,該裝置還可以包括http接口模塊308,提供給web自動化測試裝置10調(diào)用,第一接收模塊302通過http接口模塊308接收web自動化測試裝置10發(fā)送的上述請求,而獲取模塊304可以通過http接口模塊308調(diào)用數(shù)據(jù)準(zhǔn)備代理30。通過該優(yōu)選實施方式,可以在web自動化測試裝置10實現(xiàn)自動化測試時,向web自動化測試裝置10提供測試數(shù)據(jù),從而提高了測試效率。圖5是根據(jù)本申請實施例的位于web自動化測試裝置10側(cè)的測試數(shù)據(jù)的獲取裝置的結(jié)構(gòu)示意圖,該裝置可以用于實現(xiàn)上述圖1或圖2中的web自動化測試裝置10。如圖5所示,該裝置可以包括確定模塊502,用于web自動化測試裝置10確定執(zhí)行web自動化測試需要的測試數(shù)據(jù);第二發(fā)送模塊504,用于向web應(yīng)用模塊20發(fā)送請求,請求獲取測試數(shù)據(jù),其中,該請求中攜帶有獲取上述測試數(shù)據(jù)的參數(shù);第二接收模塊506,用于接收web應(yīng)用模塊20返回的測試數(shù)據(jù),其中,該測試數(shù)據(jù)是web應(yīng)用模塊20通過調(diào)用數(shù)據(jù)準(zhǔn)備代理30執(zhí)行請求獲取的。通過本實施例提供的上述裝置,web自動化測試裝置10在執(zhí)行自動化測試時,可以通過向web應(yīng)用模塊20發(fā)送請求,獲取測試數(shù)據(jù),從而實現(xiàn)了 web自動化測試和測試數(shù)據(jù)的分離,使得可以統(tǒng)一地維護測試數(shù)據(jù),提高了測試數(shù)據(jù)維護的便利性,降低了測試數(shù)據(jù)準(zhǔn)備的復(fù)雜度和維護成本。在本實施例的一個優(yōu)選實施方式中,對應(yīng)于不同的測試方式,第二發(fā)送模塊504可以分別以下方式之一向web應(yīng)用模塊請求獲取測試數(shù)據(jù)(I)調(diào)用web應(yīng)用模塊的http接口,向web應(yīng)用模塊發(fā)送請求,請求獲取測試數(shù)據(jù),采用這種方式,可以提高web自動化測試的自動化程序,在這種實施方式中,可以通過web自動化腳本執(zhí)行web自動化測試;(2)響應(yīng)于用戶的操作,向web應(yīng)用模塊發(fā)送http請求,請求獲取測試數(shù)據(jù),例如,可以提供一個供用戶選擇的對話框,用戶可以在該對話框中輸入獲取需要獲取的測試數(shù)據(jù)的參數(shù),然后向web應(yīng)用模塊發(fā)送http請求,請求獲取該測試數(shù)據(jù)。
圖6是根據(jù)本申請實施例的測試數(shù)據(jù)的獲取方法的流程圖,該方法從web應(yīng)用模塊10側(cè)描述本申請實施例提供的測試數(shù)據(jù)的獲取方法,如圖6所示,該方法主要包括以下步驟
步驟S602, web應(yīng)用模塊接收web自動化測試裝置發(fā)送的請求,其中,該請求中攜帶有獲取web自動化測試裝置執(zhí)行web自動化測試需要的測試數(shù)據(jù)的參數(shù);
在本實施例一個優(yōu)選實施方式中,web應(yīng)用模塊可以提供一個供外部調(diào)用的http 接口,web自動化測試裝置在需要獲取測試數(shù)據(jù)時,可以通過web自動化測試腳本調(diào)用該 http接口,向web應(yīng)用模塊發(fā)送請求消息,請求獲取測試數(shù)據(jù),即在該實施方式中,web自動化測試裝置通過運行web自動化測試腳本自動調(diào)用http接口獲取測試數(shù)據(jù)。通過該優(yōu)選實施方式,可以使web自動化測試腳本與測試數(shù)據(jù)分離,便于對測試數(shù)據(jù)進行統(tǒng)一維護,并且還可以提供測試的自動化程度;
或者,在本實施例中另一個優(yōu)選實施方式中,web自動化測試裝置也可以通過向 web應(yīng)用模塊發(fā)送http請求,請求獲取測試數(shù)據(jù),例如,web自動化測試裝置可以提供一個供用戶選擇的對話框,用戶可以在該對話框中輸入獲取需要獲取的測試數(shù)據(jù)的參數(shù),然后向web應(yīng)用模塊發(fā)送http請求,請求獲取該測試數(shù)據(jù)。通過該實施方式,可以根據(jù)實際需求,在需要的情況下再向web應(yīng)用模塊請求獲取測試數(shù)據(jù),從而提高了測試數(shù)據(jù)獲取的靈活性。
步驟S604,web應(yīng)用模塊根據(jù)上述請求中攜帶的參數(shù),調(diào)用與該參數(shù)對應(yīng)的數(shù)據(jù)準(zhǔn)備代理執(zhí)行該測試數(shù)據(jù)的獲??;
在本實施例的一個優(yōu)選實施方式中,如果web應(yīng)用模塊提供了對外的http接口, 則web應(yīng)用模塊可以通過該http接口將上述參數(shù)傳遞給數(shù)據(jù)準(zhǔn)備代理,數(shù)據(jù)準(zhǔn)備代理根據(jù)參數(shù)執(zhí)行測試數(shù)據(jù)的獲取。
在本實施例的一個優(yōu)選實施方式中,數(shù)據(jù)準(zhǔn)備代理執(zhí)行測試數(shù)據(jù)的獲取包括但不限于以下方式
(I)通過SQL的方式查詢數(shù)據(jù)庫,獲取與該參數(shù)對應(yīng)的測試數(shù)據(jù),采用該方式,可以有效地利用現(xiàn)有的存儲測試數(shù)據(jù)的數(shù)據(jù)庫,提高了資源的利用率;
(2)通過調(diào)用實際對外的遠(yuǎn)程服務(wù),從而獲取與該參數(shù)的對應(yīng)的測試數(shù)據(jù),在實際應(yīng)用中,采用該方式,可以有效地利用現(xiàn)有提供的遠(yuǎn)程服務(wù),提高現(xiàn)有的遠(yuǎn)程服務(wù)的利用率;
(3)可以通過向遠(yuǎn)端服務(wù)器發(fā)送http請求的方式,來獲取與該參數(shù)對應(yīng)的測試數(shù)據(jù),采用該方式,能夠有效的擴展測試數(shù)據(jù)的獲取源,保證測試數(shù)據(jù)獲取的成功率。
步驟S606,web應(yīng)用模塊將數(shù)據(jù)準(zhǔn)備代理獲取的測試數(shù)據(jù)返回給web自動化測試>J-U ρ α裝直。
在本實施例的一個優(yōu)選實施方式,如果web應(yīng)用模塊提供了對外調(diào)用的http接口,則web應(yīng)用可以通過該http接口將獲取的測試數(shù)據(jù)返回給web自動化測試裝置,或者, web應(yīng)用模塊也可以通過向web自動化測試裝置發(fā)送http響應(yīng)將獲取的測試數(shù)據(jù)返回給 web自動化測試裝置。
通過上述步驟,不僅實現(xiàn)了 web自動化測試與測試數(shù)據(jù)的分離,還能夠為web自動化測試提供多種測試數(shù)據(jù)的獲取源,從而保證了 web自動化測試的成功。
圖7是根據(jù)本申請實施例的另一種測試數(shù)據(jù)的獲取方法的流程圖,該方法從web 自動化測試裝置10側(cè)描述本申請的測試數(shù)據(jù)的獲取方法,如圖7所示,該方法主要包括以下步驟
步驟S702,web自動化測試裝置確定執(zhí)行web自動化測試需要的測試數(shù)據(jù);
在本實施例的一個優(yōu)選實施方式中,web自動化測試裝置可以在開始執(zhí)行web自動化測試之前確定需要獲取測試數(shù)據(jù),或者,在本實施例的另一個優(yōu)選實施方式中,web自動化測試裝置也可以是在執(zhí)行web自動化測試過程中,確定需要獲取測試數(shù)據(jù)。
步驟S704,web自動化測試裝置向web應(yīng)用模塊發(fā)送請求,請求獲取上述測試數(shù)據(jù),其中,該請求中攜帶有獲取該測試數(shù)據(jù)的參數(shù);
在本實施例的一個優(yōu)選實施方式中,web自動化測試裝置可以自動運行web自動化腳本執(zhí)行web自動化測試,在測試過程,在需要獲取測試數(shù)據(jù)時,web自動化腳本調(diào)用web 應(yīng)用模塊對外提供的http接口,向web應(yīng)用模塊發(fā)送請求,該請求中攜帶有指示需要獲取的測試數(shù)據(jù)的參數(shù)。在該優(yōu)選實施方式中,web自動化測試裝置可以在測試過程中自動獲取測試數(shù)據(jù),最大限度地保證了 web測試的自動化。
在本實施例的另一個優(yōu)選實施方式中,如上述,web自動化測試裝置也可以通過向 web應(yīng)用模塊發(fā)送http請求,請求獲取測試所需的測試數(shù)據(jù)。具體與上述從web應(yīng)用模塊側(cè)對測試數(shù)據(jù)的獲取方法的描述相似,具體不再贅述。
步驟S704,web自動化測試裝置接收web應(yīng)用模塊返回的測試數(shù)據(jù),其中,該測試數(shù)據(jù)是web應(yīng)用模塊通過調(diào)用數(shù)據(jù)準(zhǔn)備代理執(zhí)行上述請求獲取的。
在本實施例的一個優(yōu)選實施方式中,web應(yīng)用模塊接收到web自動化測試裝置發(fā)送的請求后,可以采用上述從web應(yīng)用模塊側(cè)對測試數(shù)據(jù)的獲取方法的描述的方式調(diào)用數(shù)據(jù)準(zhǔn)備代理,執(zhí)行測試數(shù)據(jù)的獲取,具體在此不再贅述。
圖8是根據(jù)本申請實施例優(yōu)選的測試數(shù)據(jù)的獲取方法的流程圖,如圖8所示,該方法主要包括以下步驟
步驟S802,web自動化測試裝置向web應(yīng)用模塊發(fā)送請求,請求獲取執(zhí)行web自動化測試所需的測試數(shù)據(jù),其中,該請求中攜帶有獲取該測試數(shù)據(jù)的參數(shù);
步驟S804, web應(yīng)用模塊接收來自web自動化測試裝置的上述請求;
步驟S806,web應(yīng)用模塊根據(jù)上述請求中攜帶的參數(shù),調(diào)用相應(yīng)的數(shù)據(jù)準(zhǔn)備代理, 執(zhí)行測試數(shù)據(jù)的獲?。?br>
步驟S808,數(shù)據(jù)準(zhǔn)備代理根據(jù)所述參數(shù)執(zhí)行測試數(shù)據(jù)的獲取操作;
例如,數(shù)據(jù)準(zhǔn)備代理可以通過SQL的方式獲取測試數(shù)據(jù),或者,也可以通過對外提供的遠(yuǎn)程服務(wù)獲取所述測試數(shù)據(jù),另外,數(shù)據(jù)準(zhǔn)備代理也可以通過向遠(yuǎn)端服務(wù)器發(fā)送http 請求獲取所述測試數(shù)據(jù)。
步驟S810,web應(yīng)用模塊將數(shù)據(jù)準(zhǔn)備代理的執(zhí)行結(jié)果返回給web自動化測試模塊。
之后,web自動化測試裝置可以根據(jù)web應(yīng)用模塊返回的測試數(shù)據(jù),執(zhí)行相應(yīng)的測試操作。
下面以web自動化測試通過運行web自動化腳本執(zhí)行測試為例,對本申請的一個較優(yōu)的具體實施進行說明。需要說明的是,以下實施例是以對登錄網(wǎng)絡(luò)系統(tǒng)的流程進行測試為例說明測試數(shù)據(jù)的獲取方法,但是并不限于此,對于其他web測試,也可以采用以下實施例中的實施方式。在本優(yōu)選實施例中,圖9是web自動化腳本對“登錄web系統(tǒng)”進行測試的流程圖,如圖9所示,web自動化腳本對“登錄web系統(tǒng)”進行測試主要包括以下步驟步驟S902, web自動化腳本調(diào)用web應(yīng)用模塊對外提供的http接口,向web應(yīng)用模塊發(fā)送請求,請求中包含參數(shù)“serviceType (會員類型),dbProperty (數(shù)據(jù)庫配置)”;步驟S904,web應(yīng)用模塊通過http接口接收到請求后,調(diào)度相應(yīng)的數(shù)據(jù)準(zhǔn)備代理執(zhí)行,向數(shù)據(jù)準(zhǔn)備代理傳遞相關(guān)參數(shù);步驟S906,數(shù)據(jù)準(zhǔn)備代理采用SQL的方式在指定的數(shù)據(jù)庫中生成指定會員類型的會員數(shù)據(jù);步驟S908,數(shù)據(jù)準(zhǔn)備代理將生成的會員數(shù)據(jù)的登錄名和密碼返回應(yīng)用模塊,SP “ { “oginld” : testcgs”,” password” : ”hellol234” } ” ;步驟S910,web應(yīng)用模塊通過其http接口,將數(shù)據(jù)準(zhǔn)備代理的執(zhí)行結(jié)果,即“ {“oginld” : testcgs”, ” password” : ” hellol234” } ” 返回給 web 自動化腳本;步驟S912,web自動化腳本接收web應(yīng)用模塊返回的測試數(shù)據(jù),完成相應(yīng)測試數(shù)據(jù)的準(zhǔn)備。通過本申請實施例提供的上述方案,web自動化測試裝置可以通過web應(yīng)用模塊從數(shù)據(jù)準(zhǔn)備代理獲取測試數(shù)據(jù),而不是直接從web自動化測試裝置自身存儲的數(shù)據(jù)庫中獲取測試數(shù)據(jù),解決了現(xiàn)有技術(shù)中初始化測試數(shù)據(jù)及后期維護的成本比較高,以及無法獲取數(shù)據(jù)庫存儲之外的測試數(shù)據(jù)而導(dǎo)致無法完成相應(yīng)的測試的問題,進而提高了測試數(shù)據(jù)獲取的效率,降低了測試數(shù)據(jù)獲取的復(fù)雜度和維護成本。并且,在本申請中,測試數(shù)據(jù)并不局限于只在數(shù)據(jù)庫中獲取,從而擴展了測試數(shù)據(jù)準(zhǔn)備的方式,豐富了測試數(shù)據(jù),進一步提供了測試的準(zhǔn)確性。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本申請的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本申請不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本申請的優(yōu)選實施例而已,并不用于限制本申請,對于本領(lǐng)域的技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的保護范圍之內(nèi)。
權(quán)利要求
1.一種測試數(shù)據(jù)的獲取方法,其特征在于,包括以下步驟web應(yīng)用模塊接收web自動化測試裝置發(fā)送的請求,其中,所述請求中攜帶有獲取所述web自動化測試裝置執(zhí)行web自動化測試需要的測試數(shù)據(jù)的參數(shù);所述web應(yīng)用模塊根據(jù)所述請求中攜帶的參數(shù),調(diào)用與所述參數(shù)對應(yīng)的數(shù)據(jù)準(zhǔn)備代理執(zhí)行所述測試數(shù)據(jù)的獲??;所述web應(yīng)用模塊將所述數(shù)據(jù)準(zhǔn)備代理獲取的所述測試數(shù)據(jù)返回給所述web自動化測試裝置。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述web應(yīng)用模塊調(diào)用與所述參數(shù)對應(yīng)的數(shù)據(jù)準(zhǔn)備代理執(zhí)行所述測試數(shù)據(jù)的獲取包括所述web應(yīng)用模塊調(diào)用所述數(shù)據(jù)準(zhǔn)備代理,將所述參數(shù)傳遞給所述數(shù)據(jù)準(zhǔn)備代理;所述數(shù)據(jù)準(zhǔn)備代理根據(jù)所述參數(shù),執(zhí)行所述測試數(shù)據(jù)的獲取。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)準(zhǔn)備代理通過以下方式之一或其任意組合執(zhí)行所述測試數(shù)據(jù)的獲取包括所述數(shù)據(jù)準(zhǔn)備代理通過結(jié)構(gòu)化查詢語言方式,獲取本地或外部數(shù)據(jù)庫中存儲的與所述參數(shù)對應(yīng)的所述測試數(shù)據(jù);所述數(shù)據(jù)準(zhǔn)備代理通過調(diào)用遠(yuǎn)程服務(wù),獲取與所述參數(shù)對應(yīng)的所述測試數(shù)據(jù);所述數(shù)據(jù)準(zhǔn)備代理通過向遠(yuǎn)端服務(wù)器發(fā)送超文本傳輸協(xié)議http請求,從所述遠(yuǎn)端服務(wù)器獲取與所述參數(shù)對應(yīng)的所述測試數(shù)據(jù)。
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述web應(yīng)用模塊接收web自動化測試裝置發(fā)送請求包括所述web自動化測試裝置調(diào)用所述web應(yīng)用模塊的http接口,向所述web應(yīng)用模塊發(fā)送所述請求,請求獲取所述測試數(shù)據(jù);所述web應(yīng)用模塊接收所述請求。
5.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述web應(yīng)用模塊接收web自動化測試裝置發(fā)送請求包括所述web自動化測試裝置響應(yīng)于用戶的操作,向所述web應(yīng)用模塊發(fā)送http請求,請求獲取所述測試數(shù)據(jù);所述web應(yīng)用模塊接收所述http請求。
6.一種測試數(shù)據(jù)的獲取裝置,位于web應(yīng)用模塊側(cè),其特征在于,包括接收模塊,用于接收web自動化測試裝置發(fā)送的請求,其中,所述請求中攜帶有獲取所述web自動化測試裝置執(zhí)行web自動化測試需要的測試數(shù)據(jù)的參數(shù);獲取模塊,用于根據(jù)所述請求中攜帶的參數(shù),調(diào)用與所述參數(shù)對應(yīng)的數(shù)據(jù)準(zhǔn)備代理執(zhí)行所述測試數(shù)據(jù)的獲取;發(fā)送模塊,用于將所述數(shù)據(jù)準(zhǔn)備代理獲取的所述測試數(shù)據(jù)返回給所述web自動化測試>J-U ρ α裝直。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括http接口模塊,所述接收模塊通過所述http接口模塊接收所述web自動化測試裝置發(fā)送的所述請求,所述獲取模塊通過所述http接口模塊調(diào)用所述數(shù)據(jù)準(zhǔn)備代理。
8.—種測試數(shù)據(jù)的獲取方法,其特征在于,包括以下步驟web自動化測試裝置確定執(zhí)行web自動化測試需要的測試數(shù)據(jù);所述web自動化測試裝置向web應(yīng)用模塊發(fā)送請求,請求獲取所述測試數(shù)據(jù),其中,所述請求中攜帶有獲取所述測試數(shù)據(jù)的參數(shù);所述web自動化測試裝置接收所述web應(yīng)用模塊返回的所述測試數(shù)據(jù),其中,所述測試數(shù)據(jù)是所述web應(yīng)用模塊通過調(diào)用數(shù)據(jù)準(zhǔn)備代理執(zhí)行所述請求獲取的。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述web自動化測試裝置向web應(yīng)用模塊請求獲取所述測試數(shù)據(jù)包括所述web自動化測試裝置調(diào)用所述web應(yīng)用模塊的http接口,向所述web應(yīng)用模塊發(fā)送所述請求,請求獲取所述測試數(shù)據(jù);或者,所述web自動化測試裝置響應(yīng)于用戶的操作,向所述web應(yīng)用模塊發(fā)送http請求,請求獲取所述測試數(shù)據(jù)。
10.一種測試數(shù)據(jù)的獲取裝置,位于web自動化測試裝置側(cè),其特征在于,包括確定模塊,用于確定所述web自動化測試裝置執(zhí)行web自動化測試需要的測試數(shù)據(jù);發(fā)送模塊,用于向web應(yīng)用模塊發(fā)送請求,請求獲取所述測試數(shù)據(jù),其中,所述請求中攜帶有獲取所述測試數(shù)據(jù)的參數(shù);接收模塊,用于接收所述web應(yīng)用模塊返回的所述測試數(shù)據(jù),其中,所述測試數(shù)據(jù)是所述web應(yīng)用模塊通過調(diào)用數(shù)據(jù)準(zhǔn)備代理執(zhí)行所述請求獲取的。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述發(fā)送模塊用于以以下方式之一向所述web應(yīng)用模塊請求獲取所述測試數(shù)據(jù)調(diào)用所述web應(yīng)用模塊的http接口,向所述web應(yīng)用模塊發(fā)送所述請求,請求獲取所述測試數(shù)據(jù);響應(yīng)于用戶的操作,向所述web應(yīng)用模塊發(fā)送http請求,請求獲取所述測試數(shù)據(jù)。
12.一種測試數(shù)據(jù)的獲取系統(tǒng),其特征在于,包括web自動化測試裝置、web應(yīng)用模塊和數(shù)據(jù)準(zhǔn)備代理,其中,所述web自動化測試裝置,包括權(quán)利要求12或13所述的裝置;所述web應(yīng)用模塊,包括權(quán)利要求8或9所述的裝置;所述數(shù)據(jù)準(zhǔn)備代理,用于根據(jù)所述web應(yīng)用模塊傳遞的參數(shù)執(zhí)行測試數(shù)據(jù)的獲取。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述數(shù)據(jù)準(zhǔn)備代理用于以以下方式之一或其任意組合獲取所述測試數(shù)據(jù)通過結(jié)構(gòu)化查詢語言方式,獲取本地或外部數(shù)據(jù)庫中存儲的與所述參數(shù)對應(yīng)的所述測試數(shù)據(jù);通過調(diào)用遠(yuǎn)程服務(wù),獲取與所述參數(shù)對應(yīng)的所述測試數(shù)據(jù);通過向遠(yuǎn)端服務(wù)器發(fā)送超文本傳輸協(xié)議http請求,從所述遠(yuǎn)端服務(wù)器獲取與所述參數(shù)對應(yīng)的所述測試數(shù)據(jù)。
全文摘要
本申請公開了一種測試數(shù)據(jù)的獲取方法、裝置及系統(tǒng),該方法包括web應(yīng)用模塊接收web自動化測試裝置發(fā)送的請求,其中,該請求中攜帶有獲取web自動化測試裝置執(zhí)行web自動化測試需要的測試數(shù)據(jù)的參數(shù);web應(yīng)用模塊根據(jù)請求中攜帶的參數(shù),調(diào)用與該參數(shù)對應(yīng)的數(shù)據(jù)準(zhǔn)備代理執(zhí)行測試數(shù)據(jù)的獲??;web應(yīng)用模塊將數(shù)據(jù)準(zhǔn)備代理獲取的測試數(shù)據(jù)返回給web自動化測試裝置。通過本申請?zhí)岣吡藴y試數(shù)據(jù)獲取的效率,降低了測試數(shù)據(jù)獲取的復(fù)雜度和維護成本。
文檔編號H04L12/26GK103001815SQ201110269959
公開日2013年3月27日 申請日期2011年9月13日 優(yōu)先權(quán)日2011年9月13日
發(fā)明者沈賁寅, 胡君園 申請人:阿里巴巴集團控股有限公司