亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

測試數(shù)據(jù)獲取方法、客戶端與服務(wù)器的制造方法

文檔序號(hào):8005198閱讀:354來源:國知局
測試數(shù)據(jù)獲取方法、客戶端與服務(wù)器的制造方法
【專利摘要】本發(fā)明提供了一種測試數(shù)據(jù)獲取方法、客戶端與服務(wù)器,其中,測試數(shù)據(jù)獲取方法包括:當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),瀏覽器向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求,請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù);接收服務(wù)器根據(jù)第一測試數(shù)據(jù)獲取請求返回的、待測試頁面中的可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,通過數(shù)據(jù)準(zhǔn)備子頁面顯示測試數(shù)據(jù)表單;接收用戶在數(shù)據(jù)準(zhǔn)備子頁面中,對測試數(shù)據(jù)表單的操作,根據(jù)操作向服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求;獲取服務(wù)器根據(jù)第二測試數(shù)據(jù)獲取請求返回的、與用戶操作的測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),將測試數(shù)據(jù)加載至待測試頁面,對待測試頁面進(jìn)行測試。通過本發(fā)明,實(shí)現(xiàn)了WEB測試中測試數(shù)據(jù)的準(zhǔn)備。
【專利說明】測試數(shù)據(jù)獲取方法、客戶端與服務(wù)器

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別是涉及一種WEB測試中的測試數(shù)據(jù)獲取方法、客戶端與服務(wù)器。

【背景技術(shù)】
[0002]WEB自動(dòng)化測試是指測試程序自動(dòng)對一個(gè)WEB系統(tǒng)(比如,電子購物網(wǎng)站)進(jìn)行測試,測試WEB系統(tǒng)的流程是否通暢,以及流程各個(gè)步驟的執(zhí)行結(jié)果是否正確。例如,可以測試電子購物網(wǎng)站的檢索_>查看貨物詳細(xì)信息_>登錄_>付費(fèi)流程是否通暢,并檢測在這個(gè)過程中各個(gè)步驟的執(zhí)行結(jié)果是否正確,例如,判斷檢索的結(jié)果是否正確,貨物詳細(xì)信息顯示的是不是正確等。
[0003]在WEB自動(dòng)化測試過程中,需要獲取一定的測試數(shù)據(jù)以執(zhí)行測試程序,例如,對于上述電子購物網(wǎng)站的測試過程,在執(zhí)行“登錄”步驟時(shí),需要獲取一個(gè)已在該電子購物網(wǎng)站注冊的賬號(hào)及密碼等相關(guān)信息進(jìn)行登錄,而在“付費(fèi)”流程中,需要獲取一個(gè)銀行賬號(hào)或支付賬號(hào)及密碼等信息,以完成付費(fèi)。
[0004]現(xiàn)有的測試數(shù)據(jù)獲取方案是區(qū)分對待不同的測試場景的。在針對WEB頁面功能測試時(shí),測試數(shù)據(jù)由手工準(zhǔn)備,比較耗費(fèi)人力操作成本,特別在對應(yīng)參與測試的人員不了解數(shù)據(jù)構(gòu)成的情況下,所耗費(fèi)的人力成本尤其巨大。在Π (User Interface,用戶接口)和接口自動(dòng)化測試時(shí),通過準(zhǔn)備數(shù)據(jù)接口進(jìn)行測試數(shù)據(jù)的準(zhǔn)備,但對于不同的Π和接口自動(dòng)化測試,準(zhǔn)備數(shù)據(jù)接口需要對相應(yīng)的腳本和數(shù)據(jù)接口進(jìn)行修改才能使用,需要腳本或者應(yīng)用接口支持。并且,測試數(shù)據(jù)的準(zhǔn)備方式越過業(yè)務(wù)流程,有業(yè)務(wù)風(fēng)險(xiǎn)。此外,對于必須手工測試的項(xiàng)目來說還無法實(shí)現(xiàn)比較妥善的接入。
[0005]由此可見,現(xiàn)有的WEB自動(dòng)化測試不夠智能,無法簡單、有效地實(shí)現(xiàn)自動(dòng)化測試中測試數(shù)據(jù)的獲取。


【發(fā)明內(nèi)容】

[0006]本發(fā)明提供了一種WEB測試中的測試數(shù)據(jù)獲取方法、客戶端與服務(wù)器,以解決現(xiàn)有的WEB自動(dòng)化測試不夠智能,無法簡單、有效地實(shí)現(xiàn)自動(dòng)化測試中測試數(shù)據(jù)的獲取的問題。
[0007]為了解決上述問題,本發(fā)明公開了一種測試數(shù)據(jù)獲取方法,包括:當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),瀏覽器向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求,其中,所述第一測試數(shù)據(jù)獲取請求用于請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù);接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并通過數(shù)據(jù)準(zhǔn)備子頁面顯示所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單;接收所述用戶在所述數(shù)據(jù)準(zhǔn)備子頁面中,對所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的操作,根據(jù)所述操作向所述服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求;獲取所述服務(wù)器根據(jù)所述第二測試數(shù)據(jù)獲取請求返回的、與所述用戶操作的所述測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),將所述測試數(shù)據(jù)加載至所述待測試頁面,對所述待測試頁面進(jìn)行測試。
[0008]優(yōu)選地,所述瀏覽器向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求的步驟包括:所述瀏覽器在所述第一測試數(shù)據(jù)獲取請求中攜帶:所述待測試頁面的統(tǒng)一資源定位符URL中的、除頂級(jí)域名外的、設(shè)定級(jí)別的域名,并向所述服務(wù)器發(fā)送所述第一測試數(shù)據(jù)獲取請求。
[0009]優(yōu)選地,所述接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的步驟包括:接收所述服務(wù)器在收到所述第一測試數(shù)據(jù)獲取請求后,根據(jù)所述設(shè)定級(jí)別的域名,從存儲(chǔ)的測試數(shù)據(jù)表單庫中,查找并返回與所述設(shè)定級(jí)別的域名相對應(yīng)的測試數(shù)據(jù)表單。
[0010]優(yōu)選地,所述接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的步驟包括:接收所述服務(wù)器在收到所述第一測試數(shù)據(jù)獲取請求后,以JSON格式的字符串返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單;其中,所述JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示所述測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示所述測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。
[0011]優(yōu)選地,所述瀏覽器向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求的步驟包括:瀏覽器以ajax請求方式向所述服務(wù)器發(fā)送所述第一測試數(shù)據(jù)獲取請求。
[0012]優(yōu)選地,所述測試數(shù)據(jù)獲取方法通過安裝于所述瀏覽器中的瀏覽器插件執(zhí)行。
[0013]為了解決上述問題,本發(fā)明還公開了一種客戶端,包括:第一發(fā)送模塊,用于當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求,其中,所述第一測試數(shù)據(jù)獲取請求用于請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù);顯示模塊,用于接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并通過數(shù)據(jù)準(zhǔn)備子頁面顯示所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單;第二發(fā)送模塊,用于接收所述用戶在所述數(shù)據(jù)準(zhǔn)備子頁面中,對所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的操作,根據(jù)所述操作向所述服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求;測試模塊,用于獲取所述服務(wù)器根據(jù)所述第二測試數(shù)據(jù)獲取請求返回的、與所述用戶操作的所述測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),將所述測試數(shù)據(jù)加載至所述待測試頁面,對所述待測試頁面進(jìn)行測試。
[0014]優(yōu)選地,所述第一發(fā)送模塊,用于當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),在所述第一測試數(shù)據(jù)獲取請求中攜帶:所述待測試頁面的統(tǒng)一資源定位符URL中的、除頂級(jí)域名外的、設(shè)定級(jí)別的域名,并向所述服務(wù)器發(fā)送所述第一測試數(shù)據(jù)獲取請求。
[0015]優(yōu)選地,所述顯示模塊在接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單時(shí):接收所述服務(wù)器在收到所述第一測試數(shù)據(jù)獲取請求后,根據(jù)所述設(shè)定級(jí)別的域名,從存儲(chǔ)的測試數(shù)據(jù)表單庫中,查找并返回與所述設(shè)定級(jí)別的域名相對應(yīng)的測試數(shù)據(jù)表單。
[0016]優(yōu)選地,所述顯示模塊在接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單時(shí):接收所述服務(wù)器在收到所述第一測試數(shù)據(jù)獲取請求后,以JSON格式的字符串返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單;其中,所述JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示所述測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示所述測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。
[0017]優(yōu)選地,所述第一發(fā)送模塊,用于當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),以ajax請求方式向所述服務(wù)器發(fā)送所述第一測試數(shù)據(jù)獲取請求。
[0018]為了解決上述問題,本發(fā)明還公開了一種服務(wù)器,包括:第一接收模塊,用于接收WEB測試中的客戶端的瀏覽器發(fā)送的第一測試數(shù)據(jù)獲取請求;其中,所述第一測試數(shù)據(jù)獲取請求由所述瀏覽器在測試數(shù)據(jù)獲取條件滿足時(shí)向所述第一接收模塊發(fā)送,用于向所述服務(wù)器請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù);第一獲取模塊,用于根據(jù)所述第一測試數(shù)據(jù)獲取請求,獲取所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并將所述測試數(shù)據(jù)表單發(fā)送給所述客戶端的瀏覽器;第二接收模塊,用于接收所述瀏覽器發(fā)送的第二測試數(shù)據(jù)獲取請求;其中,所述第二測試數(shù)據(jù)獲取請求由所述瀏覽器根據(jù)用戶對數(shù)據(jù)準(zhǔn)備子頁面中可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的操作生成,所述數(shù)據(jù)準(zhǔn)備子頁面用于顯示所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單并供所述用戶操作;第二獲取模塊,用于根據(jù)所述第二測試數(shù)據(jù)獲取請求,獲取與所述用戶操作的所述測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),并將所述測試數(shù)據(jù)發(fā)送給所述客戶端的瀏覽器。
[0019]優(yōu)選地,所述第一測試數(shù)據(jù)獲取請求中攜帶有:所述待測試頁面的統(tǒng)一資源定位符URL中的、除頂級(jí)域名外的、設(shè)定級(jí)別的域名;所述第一獲取模塊,用于在接收到所述第一測試數(shù)據(jù)獲取請求后,根據(jù)所述設(shè)定級(jí)別的域名,從存儲(chǔ)的測試數(shù)據(jù)表單庫中,查找并返回與所述設(shè)定級(jí)別的域名相對應(yīng)的測試數(shù)據(jù)表單,并將所述測試數(shù)據(jù)表單發(fā)送給所述客戶端的瀏覽器。
[0020]優(yōu)選地,所述第一獲取模塊在將所述測試數(shù)據(jù)表單發(fā)送給所述客戶端的瀏覽器時(shí),以JSON格式的字符串?dāng)y帶所述測試數(shù)據(jù)表單;其中,所述JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示所述測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示所述測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。
[0021]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
[0022]本發(fā)明在進(jìn)行WEB測試時(shí),一旦測試數(shù)據(jù)獲取條件滿足,如用戶觸發(fā)獲取測試數(shù)據(jù)的按鈕或?qū)Ш綏l等,則首先,瀏覽器會(huì)向服務(wù)器發(fā)送請求可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)的第一測試數(shù)據(jù)獲取請求。針對該請求,服務(wù)器會(huì)返回一個(gè)測試數(shù)據(jù)表單,而不是具體的測試數(shù)據(jù),該測試數(shù)據(jù)表單是服務(wù)器對待測試頁面進(jìn)行解析后的結(jié)果,向用戶提供了待測試頁面所有可進(jìn)行數(shù)據(jù)準(zhǔn)備的表項(xiàng),以供用戶選擇。并且,該測試數(shù)據(jù)表單通過一個(gè)數(shù)據(jù)準(zhǔn)備子WEB頁面展示給用戶。例如,當(dāng)服務(wù)器根據(jù)第一測試數(shù)據(jù)獲取請求解析出待測試頁面需要進(jìn)行新用戶注冊業(yè)務(wù)和已有帳號(hào)登錄業(yè)務(wù)測試時(shí),則返回的測試數(shù)據(jù)表單中包括相應(yīng)的新用戶注冊業(yè)務(wù)測試數(shù)據(jù)準(zhǔn)備的表項(xiàng)和已有帳號(hào)登錄業(yè)務(wù)測試數(shù)據(jù)準(zhǔn)備的表項(xiàng),以供用戶根據(jù)實(shí)際需求進(jìn)行選擇,而不是直接給出業(yè)務(wù)測試的具體數(shù)據(jù)準(zhǔn)備,如具體帳號(hào)和密碼等。然后,在用戶對數(shù)據(jù)準(zhǔn)備子頁面中的表單進(jìn)行了操作后,如點(diǎn)擊了某項(xiàng)表項(xiàng),則瀏覽器會(huì)根據(jù)該操作生成并向服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求;服務(wù)器在收到該請求后才會(huì)向?yàn)g覽器返回具體的測試數(shù)據(jù),并供瀏覽器進(jìn)行待測試頁面的測試。
[0023]可見,通過本發(fā)明,將頁面功能測試和Π及接口自動(dòng)化測試有效整合在一起,在一次測試中即可實(shí)現(xiàn)頁面功能測試、和UI及接口自動(dòng)化測試,無需再根據(jù)不同的測試場景選擇不同的測試數(shù)據(jù)準(zhǔn)備方案,更無需相應(yīng)的準(zhǔn)備數(shù)據(jù)接口對腳本和數(shù)據(jù)接口進(jìn)行修改,密切結(jié)合業(yè)務(wù)流程,簡單、有效地實(shí)現(xiàn)了 WEB自動(dòng)化測試中測試數(shù)據(jù)的準(zhǔn)備(獲取)。

【專利附圖】

【附圖說明】
[0024]圖1是根據(jù)本發(fā)明實(shí)施例一的一種測試數(shù)據(jù)獲取方法的步驟流程圖;
[0025]圖2是根據(jù)本發(fā)明實(shí)施例二的一種測試數(shù)據(jù)獲取方法的步驟流程圖;
[0026]圖3是根據(jù)本發(fā)明實(shí)施例三的一種測試數(shù)據(jù)獲取方法的步驟流程圖;
[0027]圖4是圖3所示實(shí)施例中的瀏覽器插件與后臺(tái)服務(wù)器的交互流程示意圖;
[0028]圖5是根據(jù)本發(fā)明實(shí)施例四的一種客戶端的結(jié)構(gòu)框圖;
[0029]圖6是根據(jù)本發(fā)明實(shí)施例五的一種服務(wù)器的結(jié)構(gòu)框圖。

【具體實(shí)施方式】
[0030]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0031]實(shí)施例一
[0032]參照圖1,示出了根據(jù)本發(fā)明實(shí)施例一的一種測試數(shù)據(jù)獲取方法的步驟流程圖。
[0033]本實(shí)施例的測試數(shù)據(jù)獲取方法包括以下步驟:
[0034]步驟S102:當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),瀏覽器向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求。
[0035]其中,第一測試數(shù)據(jù)獲取請求用于請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)。
[0036]測試數(shù)據(jù)獲取條件是否滿足的判定與實(shí)際實(shí)現(xiàn)中獲取測試數(shù)據(jù)的觸發(fā)條件相關(guān),如,若在打開待測試頁面時(shí)顯示獲取測試數(shù)據(jù)按鈕或控件,則當(dāng)用戶點(diǎn)擊按鈕或控件時(shí),測試數(shù)據(jù)獲取條件即滿足;若在瀏覽器的導(dǎo)航欄中設(shè)置相應(yīng)的獲取測試數(shù)據(jù)的導(dǎo)航條,則當(dāng)用戶點(diǎn)擊該導(dǎo)航條時(shí),測試數(shù)據(jù)獲取條件滿足。當(dāng)然,不限于此,其它任意適當(dāng)觸發(fā)測試數(shù)據(jù)獲取的方式同樣適用,本發(fā)明對此不作限制。
[0037]步驟S104:接收服務(wù)器根據(jù)第一測試數(shù)據(jù)獲取請求返回的、待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并通過數(shù)據(jù)準(zhǔn)備子頁面顯示可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單。
[0038]第一測試數(shù)據(jù)獲取請求中攜帶了待測試頁面的相關(guān)信息,服務(wù)器可以對該信息進(jìn)行解析,以確定向客戶端瀏覽器返回相應(yīng)的測試數(shù)據(jù)表單。
[0039]對待測試頁面的解析可以由本領(lǐng)域技術(shù)人員采用任意適當(dāng)?shù)南嚓P(guān)頁面解析手段實(shí)現(xiàn),本實(shí)施例在此不再詳述。
[0040]通過對待測試頁面的解析,向客戶端瀏覽器返回的測試數(shù)據(jù)表單中僅給出了相應(yīng)的測試表項(xiàng),并不包括具體數(shù)據(jù)。例如,對一個(gè)待測試頁面進(jìn)行解析的,確定該待測試頁面可進(jìn)行新用戶注冊業(yè)務(wù)和已有帳號(hào)登錄業(yè)務(wù)的測試數(shù)據(jù)準(zhǔn)備,則返回的測試數(shù)據(jù)表單中包括相應(yīng)的新用戶注冊業(yè)務(wù)測試數(shù)據(jù)表項(xiàng)和已有帳號(hào)登錄業(yè)務(wù)測試數(shù)據(jù)表項(xiàng),以供用戶根據(jù)實(shí)際需求選擇進(jìn)行測試的具體項(xiàng)目,而不是直接給出業(yè)務(wù)測試的具體數(shù)據(jù)準(zhǔn)備,如具體帳號(hào)和密碼等。
[0041]數(shù)據(jù)準(zhǔn)備子頁面可以以小于待測試頁面的顯示范圍的形式展示給用戶,當(dāng)然,具體的頁面范圍可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需求適當(dāng)設(shè)定,如為待測試頁面的十分之一大小展示在待測試頁面的適當(dāng)位置,如右下角、右上角等位置,以供用戶查看和操作。
[0042]步驟S106:接收用戶在數(shù)據(jù)準(zhǔn)備子頁面中,對可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的操作,根據(jù)所述操作向服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求。
[0043]其中,第二測試數(shù)據(jù)獲取請求中攜帶了用戶操作的測試數(shù)據(jù)表單的信息。
[0044]步驟S108:獲取服務(wù)器根據(jù)第二測試數(shù)據(jù)獲取請求返回的、與用戶操作的測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),將測試數(shù)據(jù)加載至待測試頁面,對待測試頁面進(jìn)行測試。
[0045]本步驟中,服務(wù)器返回的是具體的測試數(shù)據(jù),客戶端瀏覽器將該測試數(shù)據(jù)加載至待測試頁面后,即可進(jìn)行后續(xù)的WEB測試,包括頁面測試和Π接口自動(dòng)化測試。
[0046]例如,通過在待測試頁面中加載服務(wù)器返回的具體帳號(hào)和密碼,可以確定待測試頁面是否實(shí)現(xiàn)了應(yīng)有的顯示功能;而通過使用服務(wù)器返回的具體帳號(hào)和密碼與服務(wù)器交互,進(jìn)行后續(xù)的登錄流程測試,可以確定待測試頁面的UI功能和/或接口功能是否正常。
[0047]本實(shí)施例在進(jìn)行WEB測試時(shí),一旦測試數(shù)據(jù)獲取條件滿足,如用戶觸發(fā)獲取測試數(shù)據(jù)的按鈕或?qū)Ш綏l等,則首先,瀏覽器會(huì)向服務(wù)器發(fā)送請求可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)的第一測試數(shù)據(jù)獲取請求。針對該請求,服務(wù)器會(huì)返回一個(gè)測試數(shù)據(jù)表單,而不是具體的測試數(shù)據(jù),該測試數(shù)據(jù)表單是服務(wù)器對待測試頁面進(jìn)行解析后的結(jié)果,向用戶提供了待測試頁面所有可進(jìn)行數(shù)據(jù)準(zhǔn)備的表項(xiàng),以供用戶選擇。并且,該測試數(shù)據(jù)表彰通過一個(gè)數(shù)據(jù)準(zhǔn)備子WEB頁面展示給用戶。例如,當(dāng)服務(wù)器根據(jù)第一測試數(shù)據(jù)獲取請求解析出待測試頁面需要進(jìn)行新用戶注冊業(yè)務(wù)和已有帳號(hào)登錄業(yè)務(wù)測試時(shí),則返回的測試數(shù)據(jù)表單中包括相應(yīng)的新用戶注冊業(yè)務(wù)測試數(shù)據(jù)準(zhǔn)備的表項(xiàng)和已有帳號(hào)登錄業(yè)務(wù)測試數(shù)據(jù)準(zhǔn)備的表項(xiàng),以供用戶根據(jù)實(shí)際需求進(jìn)行選擇,而不是直接給出業(yè)務(wù)測試的具體數(shù)據(jù)準(zhǔn)備,如具體帳號(hào)和密碼等。然后,在用戶對數(shù)據(jù)準(zhǔn)備子頁面中的表單進(jìn)行了操作后,如點(diǎn)擊了某項(xiàng)表項(xiàng),則瀏覽器會(huì)根據(jù)該操作生成并向服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求;服務(wù)器在收到該請求后才會(huì)向?yàn)g覽器返回具體的測試數(shù)據(jù),并供瀏覽器進(jìn)行待測試頁面的測試。
[0048]可見,通過本實(shí)施例,將頁面功能測試和UI及接口自動(dòng)化測試有效整合在一起,在一次測試中即可實(shí)現(xiàn)頁面功能測試、和UI及接口自動(dòng)化測試,無需再根據(jù)不同的測試場景選擇不同的測試數(shù)據(jù)準(zhǔn)備方案,更無需相應(yīng)的準(zhǔn)備數(shù)據(jù)接口對腳本和數(shù)據(jù)接口進(jìn)行修改,密切結(jié)合業(yè)務(wù)流程,簡單、有效地實(shí)現(xiàn)了 WEB自動(dòng)化測試中測試數(shù)據(jù)的準(zhǔn)備(獲取)。
[0049]實(shí)施例二
[0050]參照圖2,示出了根據(jù)本發(fā)明實(shí)施例二的一種測試數(shù)據(jù)獲取方法的步驟流程圖。
[0051]本實(shí)施例中,通過安裝于客戶端瀏覽器中的瀏覽器插件實(shí)現(xiàn)本發(fā)明的測試數(shù)據(jù)獲取方法,通過瀏覽器插件完成測試數(shù)據(jù)獲取,使用戶在不離開待測試頁面的情況下即可完成測試數(shù)據(jù)的準(zhǔn)備(獲取)。但不限于此,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明了,其它適當(dāng)?shù)膶?shí)現(xiàn)方式,如通過瀏覽器接口,或通過瀏覽器程序,或通過函數(shù)或接口調(diào)用的方式,均可實(shí)現(xiàn)本實(shí)施例的測試數(shù)據(jù)獲取方案。
[0052]本實(shí)施例的測試數(shù)據(jù)獲取方法包括以下步驟:
[0053]步驟S202:當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),客戶端瀏覽器的瀏覽器插件向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求。
[0054]其中,第一測試數(shù)據(jù)獲取請求用于請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)。
[0055]優(yōu)選地,瀏覽器插件以ajax請求方式向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求。
[0056]瀏覽器插件在測試數(shù)據(jù)獲取條件滿足時(shí),首先生成一個(gè)ajax請求,即第一測試數(shù)據(jù)獲取請求;然后,將該ajax請求發(fā)送給服務(wù)器,也即,以ajax請求方式向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求。
[0057]ajax 的全稱是Asynchronous JavaScript and XML,即異步 JavaScript 和 XML,其核心是xmlhttprequest, ajax請求不用刷新頁面,而是用JavaScript去處理返回的結(jié)果。ajax請求在服務(wù)器看來是沒有任何區(qū)別的,所以服務(wù)器返回的是正常的頁面,只不過ajax重在了客戶端的處理上。目前,大部分的瀏覽器都支持ajax,所以不需要安裝任何額外軟件,ajax的環(huán)境就是正常開發(fā)的環(huán)境,也不需要額外任何投入,從而大大節(jié)約了本實(shí)施例方案的實(shí)現(xiàn)成本。
[0058]優(yōu)選地,本實(shí)施例的第一測試數(shù)據(jù)獲取請求中攜帶有:待測試頁面的URUUniformResource Locator,統(tǒng)一資源定位符)中的、除頂級(jí)域名外的、設(shè)定級(jí)別的域名,如二級(jí)域名或三級(jí)域名等。本實(shí)施例中,瀏覽器插件截取待測試頁面的URL中設(shè)定級(jí)別的域名,如二級(jí)域名,作為應(yīng)用名稱,將應(yīng)用名稱作為參數(shù)攜帶在第一測試數(shù)據(jù)獲取請求中,通過第一測試數(shù)據(jù)獲取請求中訪問后臺(tái)服務(wù)器。后臺(tái)服務(wù)器中保存有應(yīng)用名稱和測試數(shù)據(jù)表單的對應(yīng)關(guān)系,通過該對應(yīng)關(guān)系和第一測試數(shù)據(jù)獲取請求中攜帶的設(shè)定級(jí)別的域名,即可確定第一測試數(shù)據(jù)獲取請求所請求的測試數(shù)據(jù)表單。
[0059]在WEB測試中,待測試頁面的URL即可反映待測試頁面需要進(jìn)行準(zhǔn)備的測試數(shù)據(jù),服務(wù)器可以根據(jù)URL中的設(shè)定級(jí)別的域名,確定向客戶端瀏覽器返回相應(yīng)的測試數(shù)據(jù)表單。可見,將待測試頁面的URL中的設(shè)定級(jí)別的域名作為應(yīng)用名稱,提高了服務(wù)器端對測試數(shù)據(jù)表單的查找匹配效率,提高了測試數(shù)據(jù)表單的獲取速度。
[0060]當(dāng)然,不限于此,其它適當(dāng)?shù)拇_定待測試頁面對應(yīng)的測試數(shù)據(jù)表單的方式也同樣適用,如對待測試頁面解析后確定待測試頁面可進(jìn)行數(shù)據(jù)準(zhǔn)備的項(xiàng)目,根據(jù)該項(xiàng)目確定對應(yīng)的測試數(shù)據(jù)表單等等。
[0061]步驟S204:服務(wù)器接收第一測試數(shù)據(jù)獲取請求,獲取相應(yīng)的測試數(shù)據(jù)表單,并發(fā)送給客戶端瀏覽器的瀏覽器插件。
[0062]服務(wù)器中存儲(chǔ)有測試數(shù)據(jù)表單庫,以及設(shè)定級(jí)別的域名與測試數(shù)據(jù)表單之間的對應(yīng)關(guān)系。測試數(shù)據(jù)表單庫中保存著所有的測試數(shù)據(jù)表單。當(dāng)服務(wù)器接收到第一測試數(shù)據(jù)獲取請求后,根據(jù)設(shè)定級(jí)別的域名,從存儲(chǔ)的測試數(shù)據(jù)表單庫中,查找并返回與設(shè)定級(jí)別的域名相對應(yīng)的測試數(shù)據(jù)表單,并將查找到的測試數(shù)據(jù)表單發(fā)送給客戶端瀏覽器中的瀏覽器插件。
[0063]優(yōu)選地,服務(wù)器以JSON格式的字符串向?yàn)g覽器插件返回測試數(shù)據(jù)表單;其中,JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。
[0064]JSON (JavaScript Object Notat1n)是一種輕量級(jí)的數(shù)據(jù)交換格式,它是基于JavaScriptCStandard ECMA-262 3rd Edit1n-December 1999)的一個(gè)子集。JSON 米用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C,C++,C#, Java,JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言,易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。
[0065]JSON簡單說就是JavaScript中的對象和數(shù)組,通過這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu)。其中:
[0066](I)對象:對象在JSON中表示為“{}”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為{key:value,key:value,...}的鍵值對的結(jié)構(gòu),在面向?qū)ο蟮恼Z言中,key為對象的屬性,value為對應(yīng)的屬性值,所以很容易理解,取值方法為對象.key獲取屬性值,這個(gè)屬性值的類型可以是數(shù)字、字符串、數(shù)組、對象幾種。
[0067](2)數(shù)組:數(shù)組在JSON中是中括號(hào)“ □”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為["java" , " javascript"," vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是數(shù)字、字符串、數(shù)組、對象幾種。
[0068]JSON可以將JavaScript對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個(gè)字符串,或者在異步應(yīng)用程序中將字符串從Web客戶機(jī)傳遞給服務(wù)器端程序,JavaScript很容易解釋它,
[0069]本實(shí)施例中,采用JSON的對象方式,服務(wù)器以JSON格式的字符串向?yàn)g覽器插件返回測試數(shù)據(jù)表單。
[0070]步驟S206:瀏覽器插件接收服務(wù)器根據(jù)第一測試數(shù)據(jù)獲取請求返回的、待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并通過數(shù)據(jù)準(zhǔn)備子頁面顯示可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單。
[0071]優(yōu)選地,當(dāng)服務(wù)器以JSON格式的字符串向?yàn)g覽器插件返回測試數(shù)據(jù)表單時(shí),瀏覽器插件接收服務(wù)器在收到第一測試數(shù)據(jù)獲取請求后,以JSON格式的字符串返回的、待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單;其中,JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。通過展示優(yōu)選級(jí),瀏覽器插件可以確定在數(shù)據(jù)準(zhǔn)備子頁面中優(yōu)先展示哪些測試數(shù)據(jù)表單中的表項(xiàng)(即優(yōu)先展示哪些測試數(shù)據(jù)對象)。
[0072]步驟S208:瀏覽器插件接收用戶在數(shù)據(jù)準(zhǔn)備子頁面中,對測試數(shù)據(jù)表單的操作,根據(jù)所述操作向服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求。
[0073]同第一測試數(shù)據(jù)獲取請求類似,瀏覽器插件在接收到用戶對測試數(shù)據(jù)表單的操作后,如對某一表項(xiàng)的點(diǎn)擊操作后,首先生成一個(gè)ajax請求,即第二測試數(shù)據(jù)獲取請求;然后,將該ajax請求發(fā)送給服務(wù)器,也即,以ajax請求方式向服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求。
[0074]第二測試數(shù)據(jù)獲取請求中攜帶了用戶操作的測試數(shù)據(jù)表單的信息(如用戶點(diǎn)擊的表項(xiàng)的信息)。
[0075]步驟S210:服務(wù)器接收第二測試數(shù)據(jù)獲取請求,獲取與用戶操作的測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),并發(fā)送給客戶端瀏覽器的瀏覽器插件。
[0076]服務(wù)器在獲取測試數(shù)據(jù)時(shí),可以采用完成測試數(shù)據(jù)獲取的一段代碼,例如,可以是一段空殼(shell)程序,也可以是具體的SQL查詢語句或Java代碼等。在具體獲取測試數(shù)據(jù)時(shí),可以通過以下方式之一或其組合實(shí)現(xiàn):
[0077](I)通過SQL的方式,從本地存儲(chǔ)的數(shù)據(jù)庫獲取與用戶操作的測試數(shù)據(jù)準(zhǔn)備表單對應(yīng)的測試數(shù)據(jù),或者,也可以從與本服務(wù)器連接的其他設(shè)備中存儲(chǔ)的數(shù)據(jù)庫中獲取與用戶操作的測試數(shù)據(jù)準(zhǔn)備表單對應(yīng)的測試數(shù)據(jù),例如,從存儲(chǔ)在與本服務(wù)器位于同一局域網(wǎng)的存儲(chǔ)設(shè)備中的數(shù)據(jù)庫中獲取與用戶操作的測試數(shù)據(jù)準(zhǔn)備表單對應(yīng)的測試數(shù)據(jù)。采用該方式,可以有效地利用現(xiàn)有的存儲(chǔ)測試數(shù)據(jù)的數(shù)據(jù)庫,提高了資源的利用率。
[0078](2)通過調(diào)用遠(yuǎn)程服務(wù),獲取與用戶操作的測試數(shù)據(jù)準(zhǔn)備表單對應(yīng)的測試數(shù)據(jù),例如,在WEB系統(tǒng)中,服務(wù)器經(jīng)常采用Java程序的rmi和hess1n等方式提供遠(yuǎn)程服務(wù),用于提供某種服務(wù),比如運(yùn)費(fèi)服務(wù)、訂單服務(wù)、支付服務(wù)等,在本實(shí)施例的優(yōu)選實(shí)施方式中,可以通過調(diào)用服務(wù)器提供的這些服務(wù)來構(gòu)造的測試數(shù)據(jù)。無論哪種協(xié)議的遠(yuǎn)程服務(wù),其調(diào)用方式都是類似的,客戶端只要本地存有服務(wù)接口的定義,然后按照協(xié)議的格式組裝參數(shù)調(diào)用相應(yīng)方法即可。采用該方式,可以有效地利用現(xiàn)有提供的遠(yuǎn)程服務(wù),提高現(xiàn)有的遠(yuǎn)程服務(wù)的利用率。
[0079](3)通過向遠(yuǎn)端服務(wù)器發(fā)送http請求,從遠(yuǎn)端服務(wù)器獲取與用戶操作的測試數(shù)據(jù)準(zhǔn)備表單對應(yīng)的測試數(shù)據(jù),例如,可以向遠(yuǎn)端服務(wù)器發(fā)送攜帶用戶操作的測試數(shù)據(jù)準(zhǔn)備表單的信息的http請求,遠(yuǎn)端服務(wù)器響應(yīng)于該http請求,并返回相應(yīng)的測試數(shù)據(jù)。其中,遠(yuǎn)端服務(wù)器可以是網(wǎng)絡(luò)中與WEB自動(dòng)化測試相關(guān)的各種服務(wù)器,例如,在對某個(gè)WEB系統(tǒng)進(jìn)行付費(fèi)測試時(shí),可能會(huì)需要獲取用戶的銀行賬戶,則可以向存儲(chǔ)用戶的銀行帳戶的遠(yuǎn)端服務(wù)器發(fā)送http請求,以獲取用戶的銀行賬戶。在該優(yōu)選實(shí)施方式中,可以采用多種方式獲取測試數(shù)據(jù),而不僅限于本地保存的測試數(shù)據(jù),從而擴(kuò)展了測試數(shù)據(jù)的來源,保證WEB自動(dòng)化測試的需求,提高了 WEB自動(dòng)化測試的準(zhǔn)確率,保證測試數(shù)據(jù)獲取的成功率。
[0080]步驟S212:瀏覽器插件獲取服務(wù)器根據(jù)第二測試數(shù)據(jù)獲取請求返回的、與用戶操作的所述測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),將測試數(shù)據(jù)加載至待測試頁面,對待測試頁面進(jìn)行測試。
[0081]通過本實(shí)施例,使用瀏覽器插件完成測試數(shù)據(jù)獲取,可一次性獲取本次測試所需的所有測試數(shù)據(jù),在一次測試中即可實(shí)現(xiàn)頁面功能測試、和UI及接口自動(dòng)化測試,無需再根據(jù)不同的測試場景選擇不同的測試數(shù)據(jù)準(zhǔn)備方案,更無需相應(yīng)的準(zhǔn)備數(shù)據(jù)接口對腳本和數(shù)據(jù)接口進(jìn)行修改,密切結(jié)合業(yè)務(wù)流程,簡單、有效地實(shí)現(xiàn)了 WEB自動(dòng)化測試中測試數(shù)據(jù)的準(zhǔn)備(獲取);并且,以待測試頁面的URL中設(shè)定級(jí)別的域名作為應(yīng)用名稱,確定相應(yīng)的測試數(shù)據(jù)準(zhǔn)備表單,進(jìn)而準(zhǔn)備相應(yīng)的測試數(shù)據(jù),提供了針對性的測試數(shù)據(jù)準(zhǔn)備方案;此外,即使后臺(tái)測試數(shù)據(jù)有變動(dòng),也不會(huì)影響到客戶端的瀏覽器插件,從而能夠順利實(shí)現(xiàn)測試數(shù)據(jù)獲取,后臺(tái)服務(wù)和測試數(shù)據(jù)能夠快速擴(kuò)展,不需要升級(jí)瀏覽器插件。
[0082]實(shí)施例三
[0083]參照圖3,示出了根據(jù)本發(fā)明實(shí)施例三的一種測試數(shù)據(jù)獲取方法的步驟流程圖。
[0084]本實(shí)施例使用Chrome瀏覽器插件進(jìn)行測試數(shù)據(jù)獲取,整個(gè)方案包含客戶端瀏覽器的Chrome瀏覽器插件和后臺(tái)服務(wù)器的Webapp服務(wù)兩個(gè)部分。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明了,Chrome瀏覽器插件和Webapp服務(wù)僅為示例性說明,基于其它瀏覽器內(nèi)核的瀏覽器插件如IE瀏覽器插件和服務(wù)器中的其它適當(dāng)服務(wù)均可同樣適用。
[0085]本實(shí)施例的測試數(shù)據(jù)獲取方案由Chrome瀏覽器插件首先請求后臺(tái)服務(wù)器的Webapp服務(wù),獲得Chrome瀏覽器插件功能展示頁面源碼并渲染(即獲取測試數(shù)據(jù)表單并渲染成數(shù)據(jù)準(zhǔn)備子頁面),當(dāng)用戶從Chrome瀏覽器插件功能頁面進(jìn)行操作(即對數(shù)據(jù)準(zhǔn)備子頁面中的測試數(shù)據(jù)準(zhǔn)備表單的操作),例如準(zhǔn)備測試數(shù)據(jù)操作后,由Chrome瀏覽器插件發(fā)起ajax請求到后臺(tái)服務(wù)器的Webapp服務(wù),后臺(tái)服務(wù)器的Webapp服務(wù)在完成請求,例如準(zhǔn)備完成目標(biāo)測試數(shù)據(jù)之后,返回操作結(jié)果的關(guān)鍵數(shù)據(jù)到Chrome瀏覽器插件前端展示。
[0086]具體地,本實(shí)施例的測試數(shù)據(jù)獲取方法包括以下步驟:
[0087]步驟S302:當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),Chrome瀏覽器插件獲得當(dāng)前瀏覽器訪問的頁面的URL,截取二級(jí)域名作為應(yīng)用名稱(例如訪問URL為message, alibaba.com,則截取二級(jí)域名為message作為應(yīng)用名稱),將應(yīng)用名稱作為參數(shù)通過ajax請求訪問后臺(tái)服務(wù)器的 Webapp 服務(wù)的 Reco_end 接口。
[0088]步驟S304:后臺(tái)服務(wù)器的Webapp服務(wù)通過資源文件的方式提供應(yīng)用名稱與功能頁面模板(即測試數(shù)據(jù)表單)的唯一映射關(guān)系。當(dāng)Recommend接口被請求時(shí),通過該唯一映射關(guān)系和應(yīng)用名稱參數(shù)讀取對應(yīng)的功能頁面模板html源碼內(nèi)容,組成JSON格式的字符串返回響應(yīng)請求。
[0089]其中,返回Json格式約定為包含兩個(gè)鍵值對:
[0090]key值為div_list, value內(nèi)容為功能頁面模板的list對象;
[0091]key值為default, value內(nèi)容為指定顯示的功能頁面模板的名稱。
[0092]例如:
[0093]{ “div_list”: [ “common”: ” <div>...〈form/〉…</div>” ; ” data”: ” <div>…〈for m/>...</div>” ] ;“default”: ” common”},其中 common 和 data 為相應(yīng)的功能頁面模板。“default”: ” common”指示了優(yōu)先顯示common功能頁面模板。
[0094]可見,后臺(tái)服務(wù)器根據(jù)對Chrome瀏覽器當(dāng)前訪問頁面的URL的domain (域名)分析,提供匹配的測試數(shù)據(jù)表單。
[0095]步驟S306:Chrome瀏覽器插件在獲得Recommend接口返回的數(shù)據(jù)之后,以JSON格式提取該數(shù)據(jù),根據(jù)div_list分別進(jìn)行拼裝渲染組合為完整的html輸出到插件展示頁面(即數(shù)據(jù)準(zhǔn)備子頁面),根據(jù)default值將對應(yīng)的功能頁面模塊(測試數(shù)據(jù)表單中的測試數(shù)據(jù)對象)優(yōu)先展示。
[0096]步驟S308 =Chrome瀏覽器插件接收用戶對插件展示頁面的操作,通過ajax請求訪問后臺(tái)服務(wù)器的Webapp服務(wù)的Recommend接口,以請求具體的測試數(shù)據(jù)。
[0097]步驟S310:后臺(tái)服務(wù)器的Webapp服務(wù)完成請求的測試數(shù)據(jù)準(zhǔn)備業(yè)務(wù)處理之后,以ajax返回業(yè)務(wù)代碼執(zhí)行結(jié)果對象(具體的測試數(shù)據(jù))。
[0098]例如:約定返回對象為Map〈String, String〉,包含一個(gè) “result” 和 “detail ”,其中result為約定的操作是否成功標(biāo)志,detail為操作結(jié)果信息,以html編碼,用于插件之間渲染輸出。后臺(tái)服務(wù)器的Webapp服務(wù)允許通過請求提供的參數(shù)來調(diào)用相應(yīng)的處理模塊,可以通過build腳本、數(shù)據(jù)庫SQL執(zhí)行、業(yè)務(wù)dubbo接口調(diào)用等多種方式來完成測試數(shù)據(jù)準(zhǔn)備過程。
[0099]后臺(tái)服務(wù)器的Webapp服務(wù)的開發(fā)人員進(jìn)行新功能的增加時(shí)不需要修改Chrome瀏覽器插件本身,例如:需求新增創(chuàng)建業(yè)務(wù)數(shù)據(jù)功能時(shí),后臺(tái)開發(fā)人員僅需要在后臺(tái)服務(wù)器的Webapp服務(wù)中增加創(chuàng)建業(yè)務(wù)數(shù)據(jù)的html格式的form表單內(nèi)容(提供給插件功能頁面展示)以及該表單對應(yīng)請求的功能模塊的實(shí)現(xiàn)即可。
[0100]在具體實(shí)現(xiàn)過程中,后臺(tái)服務(wù)器可以和客戶端約定Chrome瀏覽器插件發(fā)起請求的通信格式,開放后臺(tái)Webapp服務(wù)的功能實(shí)現(xiàn),方便擴(kuò)展各種類型的測試數(shù)據(jù)準(zhǔn)備方式。
[0101]步驟S312 =Chrome瀏覽器插件接收后臺(tái)服務(wù)器返回的業(yè)務(wù)代碼執(zhí)行結(jié)果對象,將具體的測試數(shù)據(jù)加載至瀏覽器當(dāng)前訪問的頁面中,進(jìn)行瀏覽器當(dāng)前訪問頁面的測試。
[0102]上述Ch1me瀏覽器插件與后臺(tái)服務(wù)器的Webapp服務(wù)交互過程的簡單示意如圖4所示,在測試數(shù)據(jù)獲取條件滿足時(shí),Chrome瀏覽器插件通過ajax請求向后臺(tái)服務(wù)器的Webapp服務(wù)請求插件展示頁面,即功能頁面模板(測試數(shù)據(jù)表單)的內(nèi)容;后臺(tái)服務(wù)器的Webapp服務(wù)接收ajax請求后,獲取相應(yīng)的功能頁面模板(測試數(shù)據(jù)表單)的內(nèi)容,對獲取的功能頁面模板(測試數(shù)據(jù)表單)的內(nèi)容進(jìn)行拼裝后向Chrome瀏覽器插件返回插件展示頁面;Chr0me瀏覽器插件輸出插件展示頁面(數(shù)據(jù)準(zhǔn)備子頁面),并在用戶點(diǎn)擊了插件展示頁面(數(shù)據(jù)準(zhǔn)備子頁面)中的內(nèi)容后,由插件展示頁面(數(shù)據(jù)準(zhǔn)備子頁面)向后臺(tái)服務(wù)器的Webapp服務(wù)發(fā)起業(yè)務(wù)請求,請求具體的測試數(shù)據(jù);后臺(tái)服務(wù)器的Webapp服務(wù)接收到業(yè)務(wù)請求后,執(zhí)行相應(yīng)的業(yè)務(wù)操作并向Chrome瀏覽器插件返回操作結(jié)果。至此,一次WEB測試中的Chrome瀏覽器插件與后臺(tái)服務(wù)器的Webapp服務(wù)交互完成。然后,Chrome瀏覽器插件根據(jù)后臺(tái)服務(wù)器的Webapp服務(wù)返回的操作結(jié)果進(jìn)行后續(xù)加載和測試。
[0103]由上述過程可見,整個(gè)操作過程中,用戶不需要離開被測試頁面,也不需要額外的訪問其它的應(yīng)用或者網(wǎng)站,僅通過瀏覽器插件即可完成測試數(shù)據(jù)準(zhǔn)備的所有交互行為。
[0104]本實(shí)施例中,通過Chrome瀏覽器插件完成數(shù)據(jù)準(zhǔn)備,使用戶在不離開被測試頁面的情況下完成數(shù)據(jù)準(zhǔn)備;針對不同的頁面URL,提供針對性的測試數(shù)據(jù)準(zhǔn)備方案;后臺(tái)服務(wù)能夠快速擴(kuò)展,不需要升級(jí)插件。
[0105]實(shí)施例四
[0106]參照圖5,示出了根據(jù)本發(fā)明實(shí)施例四的一種客戶端的結(jié)構(gòu)框圖。
[0107]本實(shí)施例的客戶端包括:第一發(fā)送模塊402,用于當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求,其中,第一測試數(shù)據(jù)獲取請求用于請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù);顯示模塊404,用于接收服務(wù)器根據(jù)第一測試數(shù)據(jù)獲取請求返回的、待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并通過數(shù)據(jù)準(zhǔn)備子頁面顯示可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單;第二發(fā)送模塊406,用于接收用戶在數(shù)據(jù)準(zhǔn)備子頁面中,對可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的操作,根據(jù)所述操作向服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求;測試模塊408,用于獲取服務(wù)器根據(jù)第二測試數(shù)據(jù)獲取請求返回的、與用戶操作的測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),將測試數(shù)據(jù)加載至待測試頁面,對待測試頁面進(jìn)行測試。
[0108]優(yōu)選地,第一發(fā)送模塊402,用于當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),在第一測試數(shù)據(jù)獲取請求中攜帶:待測試頁面的URL中的、除頂級(jí)域名外的、設(shè)定級(jí)別的域名,并向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求。
[0109]優(yōu)選地,顯示模塊404在接收服務(wù)器根據(jù)第一測試數(shù)據(jù)獲取請求返回的、待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單時(shí):接收服務(wù)器在收到第一測試數(shù)據(jù)獲取請求后,根據(jù)設(shè)定級(jí)別的域名,從存儲(chǔ)的測試數(shù)據(jù)表單庫中,查找并返回與設(shè)定級(jí)別的域名相對應(yīng)的測試數(shù)據(jù)表單。
[0110]優(yōu)選地,顯示模塊404在接收服務(wù)器根據(jù)第一測試數(shù)據(jù)獲取請求返回的、待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單時(shí):接收服務(wù)器在收到第一測試數(shù)據(jù)獲取請求后,以JSON格式的字符串返回的、待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單;其中,JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。
[0111]優(yōu)選地,第一發(fā)送模塊402用于當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),以ajax請求方式向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求。
[0112]本實(shí)施例的客戶端用于實(shí)現(xiàn)前述多個(gè)方法實(shí)施例中相應(yīng)的測試數(shù)據(jù)獲取方法中的客戶端的操作,并具有相應(yīng)的方法實(shí)施例的有益效果,在此不再贅述。
[0113]實(shí)施例五
[0114]參照圖6,示出了根據(jù)本發(fā)明實(shí)施例五的一種服務(wù)器的結(jié)構(gòu)框圖。
[0115]本實(shí)施例的服務(wù)器包括:第一接收模塊502,用于接收WEB測試中的客戶端的瀏覽器發(fā)送的第一測試數(shù)據(jù)獲取請求;其中,第一測試數(shù)據(jù)獲取請求由瀏覽器在測試數(shù)據(jù)獲取條件滿足時(shí)向第一接收模塊發(fā)送,用于向服務(wù)器請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù);第一獲取模塊504,用于根據(jù)第一測試數(shù)據(jù)獲取請求,獲取待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并將測試數(shù)據(jù)表單發(fā)送給客戶端的瀏覽器;第二接收模塊506,用于接收瀏覽器發(fā)送的第二測試數(shù)據(jù)獲取請求;其中,第二測試數(shù)據(jù)獲取請求由瀏覽器根據(jù)用戶對數(shù)據(jù)準(zhǔn)備子頁面中可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的操作生成,數(shù)據(jù)準(zhǔn)備子頁面用于顯示可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單并供用戶操作;第二獲取模塊508,用于根據(jù)第二測試數(shù)據(jù)獲取請求,獲取與用戶操作的測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),并將測試數(shù)據(jù)發(fā)送給客戶端的瀏覽器。
[0116]優(yōu)選地,第一測試數(shù)據(jù)獲取請求中攜帶有:待測試頁面的URL中的、除頂級(jí)域名外的、設(shè)定級(jí)別的域名;第一獲取模塊504,用于在接收到第一測試數(shù)據(jù)獲取請求后,根據(jù)設(shè)定級(jí)別的域名,從存儲(chǔ)的測試數(shù)據(jù)表單庫中,查找并返回與設(shè)定級(jí)別的域名相對應(yīng)的測試數(shù)據(jù)表單,并將測試數(shù)據(jù)表單發(fā)送給客戶端的瀏覽器。
[0117]優(yōu)選地,第一獲取模塊504在將測試數(shù)據(jù)表單發(fā)送給客戶端的瀏覽器時(shí),以JSON格式的字符串?dāng)y帶測試數(shù)據(jù)表單;其中,JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。
[0118]本實(shí)施例的服務(wù)器用于實(shí)現(xiàn)前述多個(gè)方法實(shí)施例中相應(yīng)的測試數(shù)據(jù)獲取方法中的服務(wù)器端的操作,并具有相應(yīng)的方法實(shí)施例的有益效果,在此不再贅述。
[0119]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對于客戶端和服務(wù)器實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0120]以上對本發(fā)明所提供的一種測試數(shù)據(jù)獲取方法、客戶端和服務(wù)器,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種測試數(shù)據(jù)獲取方法,其特征在于,包括: 當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),瀏覽器向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求,其中,所述第一測試數(shù)據(jù)獲取請求用于請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù); 接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并通過數(shù)據(jù)準(zhǔn)備子頁面顯示所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單; 接收所述用戶在所述數(shù)據(jù)準(zhǔn)備子頁面中,對所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的操作,根據(jù)所述操作向所述服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求; 獲取所述服務(wù)器根據(jù)所述第二測試數(shù)據(jù)獲取請求返回的、與所述用戶操作的所述測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),將所述測試數(shù)據(jù)加載至所述待測試頁面,對所述待測試頁面進(jìn)行測試。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述瀏覽器向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求的步驟包括: 所述瀏覽器在所述第一測試數(shù)據(jù)獲取請求中攜帶:所述待測試頁面的統(tǒng)一資源定位符URL中的、除頂級(jí)域名外的、設(shè)定級(jí)別的域名,并向所述服務(wù)器發(fā)送所述第一測試數(shù)據(jù)獲取請求。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的步驟包括: 接收所述服務(wù)器在收到所述第一測試數(shù)據(jù)獲取請求后,根據(jù)所述設(shè)定級(jí)別的域名,從存儲(chǔ)的測試數(shù)據(jù)表單庫中,查找并返回與所述設(shè)定級(jí)別的域名相對應(yīng)的測試數(shù)據(jù)表單。
4.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于,所述接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的步驟包括: 接收所述服務(wù)器在收到所述第一測試數(shù)據(jù)獲取請求后,以JSON格式的字符串返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單; 其中,所述JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示所述測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示所述測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。
5.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于,所述瀏覽器向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求的步驟包括: 瀏覽器以ajax請求方式向所述服務(wù)器發(fā)送所述第一測試數(shù)據(jù)獲取請求。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述測試數(shù)據(jù)獲取方法通過安裝于所述瀏覽器中的瀏覽器插件執(zhí)行。
7.一種客戶端,其特征在于,包括: 第一發(fā)送模塊,用于當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),向服務(wù)器發(fā)送第一測試數(shù)據(jù)獲取請求,其中,所述第一測試數(shù)據(jù)獲取請求用于請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù); 顯示模塊,用于接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并通過數(shù)據(jù)準(zhǔn)備子頁面顯示所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單; 第二發(fā)送模塊,用于接收所述用戶在所述數(shù)據(jù)準(zhǔn)備子頁面中,對所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的操作,根據(jù)所述操作向所述服務(wù)器發(fā)送第二測試數(shù)據(jù)獲取請求; 測試模塊,用于獲取所述服務(wù)器根據(jù)所述第二測試數(shù)據(jù)獲取請求返回的、與所述用戶操作的所述測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),將所述測試數(shù)據(jù)加載至所述待測試頁面,對所述待測試頁面進(jìn)行測試。
8.根據(jù)權(quán)利要求7所述的客戶端,其特征在于,所述第一發(fā)送模塊,用于當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),在所述第一測試數(shù)據(jù)獲取請求中攜帶:所述待測試頁面的統(tǒng)一資源定位符URL中的、除頂級(jí)域名外的、設(shè)定級(jí)別的域名,并向所述服務(wù)器發(fā)送所述第一測試數(shù)據(jù)獲取請求。
9.根據(jù)權(quán)利要求8所述的客戶端,其特征在于,所述顯示模塊在接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單時(shí): 接收所述服務(wù)器在收到所述第一測試數(shù)據(jù)獲取請求后,根據(jù)所述設(shè)定級(jí)別的域名,從存儲(chǔ)的測試數(shù)據(jù)表單庫中,查找并返回與所述設(shè)定級(jí)別的域名相對應(yīng)的測試數(shù)據(jù)表單。
10.根據(jù)權(quán)利要求7、8或9所述的客戶端,其特征在于,所述顯示模塊在接收所述服務(wù)器根據(jù)所述第一測試數(shù)據(jù)獲取請求返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單時(shí): 接收所述服務(wù)器在收到所述第一測試數(shù)據(jù)獲取請求后,以JSON格式的字符串返回的、所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單; 其中,所述JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示所述測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示所述測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。
11.根據(jù)權(quán)利要求7、8或9所述的客戶端,其特征在于,所述第一發(fā)送模塊,用于當(dāng)測試數(shù)據(jù)獲取條件滿足時(shí),以ajax請求方式向所述服務(wù)器發(fā)送所述第一測試數(shù)據(jù)獲取請求。
12.—種服務(wù)器,其特征在于,包括: 第一接收模塊,用于接收WEB測試中的客戶端的瀏覽器發(fā)送的第一測試數(shù)據(jù)獲取請求;其中,所述第一測試數(shù)據(jù)獲取請求由所述瀏覽器在測試數(shù)據(jù)獲取條件滿足時(shí)向所述第一接收模塊發(fā)送,用于向所述服務(wù)器請求WEB測試中客戶端的待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù); 第一獲取模塊,用于根據(jù)所述第一測試數(shù)據(jù)獲取請求,獲取所述待測試頁面中的、可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單,并將所述測試數(shù)據(jù)表單發(fā)送給所述客戶端的瀏覽器; 第二接收模塊,用于接收所述瀏覽器發(fā)送的第二測試數(shù)據(jù)獲取請求;其中,所述第二測試數(shù)據(jù)獲取請求由所述瀏覽器根據(jù)用戶對數(shù)據(jù)準(zhǔn)備子頁面中可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單的操作生成,所述數(shù)據(jù)準(zhǔn)備子頁面用于顯示所述可進(jìn)行準(zhǔn)備的測試數(shù)據(jù)表單并供所述用戶操作; 第二獲取模塊,用于根據(jù)所述第二測試數(shù)據(jù)獲取請求,獲取與所述用戶操作的所述測試數(shù)據(jù)表單對應(yīng)的測試數(shù)據(jù),并將所述測試數(shù)據(jù)發(fā)送給所述客戶端的瀏覽器。
13.根據(jù)權(quán)利要求12所述的服務(wù)器,其特征在于,所述第一測試數(shù)據(jù)獲取請求中攜帶有:所述待測試頁面的統(tǒng)一資源定位符URL中的、除頂級(jí)域名外的、設(shè)定級(jí)別的域名; 所述第一獲取模塊,用于在接收到所述第一測試數(shù)據(jù)獲取請求后,根據(jù)所述設(shè)定級(jí)別的域名,從存儲(chǔ)的測試數(shù)據(jù)表單庫中,查找并返回與所述設(shè)定級(jí)別的域名相對應(yīng)的測試數(shù)據(jù)表單,并將所述測試數(shù)據(jù)表單發(fā)送給所述客戶端的瀏覽器。
14.根據(jù)權(quán)利要求13所述的服務(wù)器,其特征在于,所述第一獲取模塊在將所述測試數(shù)據(jù)表單發(fā)送給所述客戶端的瀏覽器時(shí),以JSON格式的字符串?dāng)y帶所述測試數(shù)據(jù)表單;其中,所述JSON格式的字符串中包含兩個(gè)鍵值對,一個(gè)鍵值對用于指示所述測試數(shù)據(jù)表單包含的測試數(shù)據(jù)對象,另一個(gè)鍵值對用于指示所述測試數(shù)據(jù)對象的展示優(yōu)先級(jí)。
【文檔編號(hào)】H04W72/12GK104427627SQ201310373627
【公開日】2015年3月18日 申請日期:2013年8月23日 優(yōu)先權(quán)日:2013年8月23日
【發(fā)明者】吳健 申請人:阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1