本發(fā)明涉及互聯(lián)網(wǎng)測試技術(shù)領(lǐng)域,具體而言,涉及一種測試場景數(shù)據(jù)的構(gòu)建方法及裝置、埋點(diǎn)測試方法。
背景技術(shù):
埋點(diǎn)是指在客戶端(如手機(jī)或者電腦)顯示的頁面中添加抓取腳本,當(dāng)用戶點(diǎn)擊頁面上的鏈接時,通過該抓取腳本抓取頁面的埋點(diǎn)數(shù)據(jù),將埋點(diǎn)數(shù)據(jù)發(fā)送至埋點(diǎn)服務(wù)器進(jìn)行存儲。數(shù)據(jù)分析人員通過分析埋點(diǎn)數(shù)據(jù),能夠獲知用戶的頁面瀏覽習(xí)慣,從而優(yōu)化頁面,發(fā)掘用戶的潛在需求等。
為了保證埋點(diǎn)數(shù)據(jù)準(zhǔn)確發(fā)送至埋點(diǎn)服務(wù)器,需要進(jìn)行埋點(diǎn)測試,埋點(diǎn)測試的過程為:客戶端顯示埋點(diǎn)測試頁面;觸發(fā)抓取腳本抓取埋點(diǎn)測試頁面中各個鏈接的關(guān)聯(lián)信息,將關(guān)聯(lián)信息作為埋點(diǎn)數(shù)據(jù)發(fā)送至埋點(diǎn)服務(wù)器;比對客戶端發(fā)出的埋點(diǎn)數(shù)據(jù)和埋點(diǎn)服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)是否一致。
在埋點(diǎn)測試過程中,客戶端需要顯示埋點(diǎn)測試頁面,由于后臺實(shí)時生成的頁面可能不滿足埋點(diǎn)測試需求,如當(dāng)前需要測試的是購買商品付款成功的頁面的埋點(diǎn)數(shù)據(jù),后臺實(shí)時生成的頁面為付款失敗頁面,該種情況下需要對后臺數(shù)據(jù)進(jìn)行修改,得到符合埋點(diǎn)測試需求的頁面作為埋點(diǎn)測試頁面。
相關(guān)技術(shù)中,大多在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),客戶端根據(jù)服務(wù)器內(nèi)修改后的數(shù)據(jù)顯示埋點(diǎn)測試頁面,該埋點(diǎn)測試頁面滿足埋點(diǎn)測試需求。然而,由于在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),需要服務(wù)器端的開發(fā)人員配合,因此數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種測試場景數(shù)據(jù)的構(gòu)建方法及裝置、埋點(diǎn)測試方法,以解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
第一方面,本發(fā)明實(shí)施例提供了一種測試場景數(shù)據(jù)的構(gòu)建方法,所述方法包括:接收客戶端發(fā)送的頁面請求并轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)器;接收所述數(shù)據(jù)服務(wù)器根據(jù)所述頁面請求返回的頁面數(shù)據(jù);根據(jù)所述頁面數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)要求之間的匹配情況,確定測試場景數(shù)據(jù)。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面第一種可能的實(shí)施方式,其中,所述根據(jù)所述頁面數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)要求之間的匹配情況,確定測試場景數(shù)據(jù),包括:若所述頁面數(shù)據(jù)滿足所述預(yù)設(shè)的數(shù)據(jù)要求,則將所述頁面數(shù)據(jù)作為所述測試場景數(shù)據(jù);若所述頁面數(shù)據(jù)不滿足所述預(yù)設(shè)的數(shù)據(jù)要求,則根據(jù)所述預(yù)設(shè)的數(shù)據(jù)要求對所述頁面數(shù)據(jù)進(jìn)行修改,將修改后的所述頁面數(shù)據(jù)作為所述測試場景數(shù)據(jù)。
結(jié)合第一方面第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面第二種可能的實(shí)施方式,其中,所述根據(jù)所述預(yù)設(shè)的數(shù)據(jù)要求對所述頁面數(shù)據(jù)進(jìn)行修改,包括:確定所述預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的字段,對所述頁面數(shù)據(jù)中的所述字段的內(nèi)容進(jìn)行編輯,或者,在所述頁面數(shù)據(jù)中增加所述字段,或者,在所述頁面數(shù)據(jù)中刪除所述字段,其中,所述頁面數(shù)據(jù)包括多個字段。
結(jié)合第一方面第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面第三種可能的實(shí)施方式,其中,所述根據(jù)所述預(yù)設(shè)的數(shù)據(jù)要求對所述頁面數(shù)據(jù)進(jìn)行修改,包括:確定所述預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的標(biāo)準(zhǔn)頁面數(shù)據(jù),利用所述標(biāo)準(zhǔn)頁面數(shù)據(jù)替換所述頁面數(shù)據(jù)。
結(jié)合第一方面第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面第四種可能的實(shí)施方式,其中,所述根據(jù)所述預(yù)設(shè)的數(shù)據(jù)要求對所述頁面數(shù)據(jù)進(jìn)行修改,包括:將所述預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的數(shù)據(jù)添加到所述頁面數(shù)據(jù)中。
結(jié)合第一方面上述的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面第五種可能的實(shí)施方式,其中,在所述根據(jù)所述預(yù)設(shè)的數(shù)據(jù)要求對所述頁面數(shù)據(jù)進(jìn)行修改之前,所述方法還包括:讀取預(yù)設(shè)的配置文件,獲取所述預(yù)設(shè)的數(shù)據(jù)要求,其中,所述預(yù)設(shè)的數(shù)據(jù)要求記錄在所述配置文件中。
第二方面,本發(fā)明實(shí)施例提供了一種埋點(diǎn)測試方法,所述方法包括:控制客戶端根據(jù)代理服務(wù)器發(fā)送的測試場景數(shù)據(jù)進(jìn)行埋點(diǎn)測試,其中,所述測試場景數(shù)據(jù)由所述代理服務(wù)器采用上述第一方面所述的方法確定;控制所述代理服務(wù)器接收所述客戶端發(fā)送的埋點(diǎn)數(shù)據(jù),并控制所述代理服務(wù)器將接收到的埋點(diǎn)數(shù)據(jù)發(fā)送至埋點(diǎn)服務(wù)器;根據(jù)所述代理服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)和所述埋點(diǎn)服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)的一致性比對結(jié)果確定埋點(diǎn)測試結(jié)果。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面第一種可能的實(shí)施方式,其中,所述方法還包括:控制所述代理服務(wù)器將接收到的埋點(diǎn)數(shù)據(jù)存儲于本地的埋點(diǎn)日志文件中,以及,控制所述埋點(diǎn)服務(wù)器將接收到的埋點(diǎn)數(shù)據(jù)存儲于本地的埋點(diǎn)日志文件中。
結(jié)合第二方面上述的實(shí)施方式,本發(fā)明實(shí)施例提供了第二方面第二種可能的實(shí)施方式,其中,在所述根據(jù)所述代理服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)和所述埋點(diǎn)服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)的一致性比對結(jié)果確定埋點(diǎn)測試結(jié)果之前,所述方法還包括:利用統(tǒng)一資源定位符URL格式的訪問請求訪問所述代理服務(wù)器,獲取所述代理服務(wù)器接收到的埋點(diǎn)數(shù)據(jù);獲取所述埋點(diǎn)服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)。
第三方面,本發(fā)明實(shí)施例提供了一種測試場景數(shù)據(jù)的構(gòu)建裝置,所述裝置包括:第一接收模塊,用于接收客戶端發(fā)送的頁面請求并轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)器;第二接收模塊,用于接收所述數(shù)據(jù)服務(wù)器根據(jù)所述頁面請求返回的頁面數(shù)據(jù);數(shù)據(jù)確定模塊,用于根據(jù)所述頁面數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)要求之間的匹配情況,確定測試場景數(shù)據(jù)。
第四方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)設(shè)備,包括存儲器和處理器,所述存儲器上存儲有可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器運(yùn)行所述計(jì)算機(jī)程序時執(zhí)行上述第一方面所述的方法。
第五方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲介質(zhì),所述計(jì)算機(jī)存儲介質(zhì)上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器運(yùn)行時執(zhí)行上述第一方面所述的方法。
第六方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲介質(zhì),所述計(jì)算機(jī)存儲介質(zhì)上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器運(yùn)行時執(zhí)行上述第二方面所述的方法。
本發(fā)明實(shí)施例中,接收客戶端發(fā)送的頁面請求并轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)器,接收數(shù)據(jù)服務(wù)器根據(jù)頁面請求返回的頁面數(shù)據(jù),根據(jù)頁面數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)要求之間的匹配情況,確定測試場景數(shù)據(jù)。由于本發(fā)明實(shí)施例中在構(gòu)建測試場景數(shù)據(jù)時,從數(shù)據(jù)服務(wù)器中獲取與頁面請求對應(yīng)的頁面數(shù)據(jù),在數(shù)據(jù)服務(wù)器外根據(jù)頁面數(shù)據(jù)確定測試場景數(shù)據(jù),而不是在數(shù)據(jù)服務(wù)端直接修改數(shù)據(jù),因此數(shù)據(jù)服務(wù)器只負(fù)責(zé)提供頁面數(shù)據(jù),無需承擔(dān)頁面數(shù)據(jù)修改工作,不過多占用數(shù)據(jù)服務(wù)器資源,且無需服務(wù)器端的開發(fā)人員配合,因此與相關(guān)技術(shù)相比,通過本發(fā)明實(shí)施例中的測試場景數(shù)據(jù)的構(gòu)建方法及裝置、埋點(diǎn)測試方法,數(shù)據(jù)構(gòu)建耗時短,數(shù)據(jù)構(gòu)建方便,能夠解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1為本發(fā)明實(shí)施例提供的測試場景數(shù)據(jù)的構(gòu)建方法及裝置、埋點(diǎn)測試方法的應(yīng)用場景示意圖;
圖2為本發(fā)明實(shí)施例提供的HTTP埋點(diǎn)代理服務(wù)器的模塊組成示意圖;
圖3為本發(fā)明第一實(shí)施例提供的測試場景數(shù)據(jù)的構(gòu)建方法的一種流程示意圖;
圖4為本發(fā)明第一實(shí)施例提供的測試場景數(shù)據(jù)的構(gòu)建裝置的一種模塊組成示意圖;
圖5為本發(fā)明第一實(shí)施例提供的計(jì)算機(jī)設(shè)備的模塊組成示意圖;
圖6為本發(fā)明第二實(shí)施例提供的埋點(diǎn)測試方法的流程示意圖;
圖7為本發(fā)明第二實(shí)施例提供的埋點(diǎn)測試裝置的模塊組成示意圖;
圖8為本發(fā)明第二實(shí)施例提供的計(jì)算機(jī)設(shè)備的模塊組成示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。因此,以下對在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
考慮到相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題,本發(fā)明實(shí)施例提供了一種測試場景數(shù)據(jù)的構(gòu)建方法及裝置、埋點(diǎn)測試方法,下面結(jié)合實(shí)施例進(jìn)行具體描述。
為了清楚的介紹本發(fā)明實(shí)施例中的測試場景數(shù)據(jù)的構(gòu)建方法及裝置、埋點(diǎn)測試方法,下面首先介紹本發(fā)明實(shí)施例的應(yīng)用場景,圖1為本發(fā)明實(shí)施例提供的測試場景數(shù)據(jù)的構(gòu)建方法及裝置、埋點(diǎn)測試方法的應(yīng)用場景示意圖,如圖1所示,該場景包括腳本服務(wù)器1、客戶端2、HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)埋點(diǎn)代理服務(wù)器3、數(shù)據(jù)服務(wù)器4和埋點(diǎn)服務(wù)器5。其中,腳本服務(wù)器1內(nèi)運(yùn)行有自動化腳本,腳本服務(wù)器1通過運(yùn)行該自動化腳本控制客戶端2和HTTP代理服務(wù)器3進(jìn)行埋點(diǎn)測試,客戶端2和HTTP代理服務(wù)器3進(jìn)行埋點(diǎn)測試的具體過程如下。
客戶端2向HTTP埋點(diǎn)代理服務(wù)器3發(fā)送頁面請求,HTTP埋點(diǎn)代理服務(wù)器3接收客戶端2發(fā)送的頁面請求,將頁面請求發(fā)送至數(shù)據(jù)服務(wù)器4,并接收數(shù)據(jù)服務(wù)器4返回的頁面數(shù)據(jù)。HTTP埋點(diǎn)代理服務(wù)器3中預(yù)先存儲有配置文件,該配置文件中記錄有預(yù)設(shè)的數(shù)據(jù)要求,HTTP埋點(diǎn)代理服務(wù)器3根據(jù)接收到的頁面數(shù)據(jù)和預(yù)設(shè)的數(shù)據(jù)要求之間的匹配關(guān)系,確定測試場景數(shù)據(jù),并將測試場景數(shù)據(jù)發(fā)送至客戶端2??蛻舳?根據(jù)測試場景數(shù)據(jù)顯示埋點(diǎn)測試頁面,并在腳本服務(wù)器1的觸發(fā)下抓取埋點(diǎn)數(shù)據(jù),將抓取的埋點(diǎn)數(shù)據(jù)發(fā)送至HTTP埋點(diǎn)代理服務(wù)器3。HTTP埋點(diǎn)代理服務(wù)器3接收客戶端2發(fā)送的埋點(diǎn)數(shù)據(jù),將埋點(diǎn)數(shù)據(jù)存儲到本地的埋點(diǎn)日志文件中,以及將埋點(diǎn)數(shù)據(jù)發(fā)送至埋點(diǎn)服務(wù)器5。埋點(diǎn)服務(wù)器5接收HTTP埋點(diǎn)代理服務(wù)器3發(fā)送的埋點(diǎn)數(shù)據(jù),并存儲在本地的埋點(diǎn)日志文件中。
這里解釋埋點(diǎn)數(shù)據(jù)的含義,在客戶端內(nèi),當(dāng)頁面中的鏈接被觸發(fā)時,頁面中預(yù)置的抓取腳本會抓取該鏈接的關(guān)聯(lián)信息,如該鏈接為廣告鏈接時,則抓取該廣告鏈接對應(yīng)的廣告商ID、廣告費(fèi)用等信息,還會抓取客戶端的型號、鏈接打開時間等信息,這些由抓取腳本抓取的信息統(tǒng)稱為埋點(diǎn)數(shù)據(jù)。對于鏈接的關(guān)聯(lián)信息,一般直接記錄在鏈接對應(yīng)的代碼中,抓取腳本能夠從頁面數(shù)據(jù)中獲得,這些埋點(diǎn)數(shù)據(jù)是頁面數(shù)據(jù)的一部分,對于客戶端的型號、鏈接打開時間等信息,抓取腳本需要從客戶端上獲取,這些埋點(diǎn)數(shù)據(jù)不是頁面數(shù)據(jù)的一部分。
腳本服務(wù)器1還向HTTP埋點(diǎn)代理服務(wù)器3發(fā)送第一埋點(diǎn)數(shù)據(jù)訪問請求,獲取HTTP埋點(diǎn)代理服務(wù)器3接收到的第一埋點(diǎn)數(shù)據(jù),以及向埋點(diǎn)服務(wù)器5發(fā)送第二埋點(diǎn)數(shù)據(jù)訪問請求,獲取埋點(diǎn)服務(wù)器5接收到的第二埋點(diǎn)數(shù)據(jù),腳本服務(wù)器1比較第一埋點(diǎn)數(shù)據(jù)和第二埋點(diǎn)數(shù)據(jù)是否一致,從而確定埋點(diǎn)測試結(jié)果。其中,第一埋點(diǎn)數(shù)據(jù)訪問請求為URL(Uniform Resource Locator,統(tǒng)一資源定位符)格式。
圖2為本發(fā)明實(shí)施例提供的HTTP埋點(diǎn)代理服務(wù)器的模塊組成示意圖,如圖2所示,本實(shí)施例中的HTTP埋點(diǎn)代理服務(wù)器3包括HTTP代理模塊31和HTTP服務(wù)模塊32,其中,HTTP代理模塊31包括數(shù)據(jù)修改子模塊311和通信子模塊312,HTTP服務(wù)模塊32包括測試場景數(shù)據(jù)存儲子模塊321、配置文件存儲子模塊322和埋點(diǎn)日志存儲子模塊323。在埋點(diǎn)測試過程中,通信子模塊312與腳本服務(wù)器1、客戶端2、數(shù)據(jù)服務(wù)器4和埋點(diǎn)服務(wù)器5通信,負(fù)責(zé)與腳本服務(wù)器1、客戶端2、數(shù)據(jù)服務(wù)器4和埋點(diǎn)服務(wù)器5之間的數(shù)據(jù)傳輸;數(shù)據(jù)修改子模塊311從配置文件存儲子模塊322中讀取配置文件,根據(jù)配置文件中記錄的預(yù)設(shè)的數(shù)據(jù)要求和數(shù)據(jù)服務(wù)器返回的頁面數(shù)據(jù)確定測試場景數(shù)據(jù),并將測試場景數(shù)據(jù)存儲至測試場景數(shù)據(jù)存儲子模塊321中;埋點(diǎn)日志存儲子模塊323存儲埋點(diǎn)日志文件,埋點(diǎn)日志文件中記錄有客戶端2發(fā)送的埋點(diǎn)數(shù)據(jù)。
需要說明的是,本發(fā)明實(shí)施例中的HTTP埋點(diǎn)代理服務(wù)器3并非本領(lǐng)域內(nèi)常見的HTTP代理服務(wù)器(http proxy server),本領(lǐng)域內(nèi)常見的HTTP代理服務(wù)器只具備代理功能,也即只能夠?qū)⒖蛻舳税l(fā)送的數(shù)據(jù)轉(zhuǎn)發(fā)出去,以及將發(fā)送至客戶端的數(shù)據(jù)攔截下來發(fā)送至客戶端,不具備數(shù)據(jù)修改功能,本實(shí)施例中的HTTP埋點(diǎn)代理服務(wù)器3繼承了本領(lǐng)域內(nèi)常見的HTTP代理服務(wù)器的所有功能,在此基礎(chǔ)上還增加了頁面數(shù)據(jù)修改功能,并且和HTTP Server(HTTP服務(wù))組合,提供統(tǒng)一資源定位符URL的數(shù)據(jù)訪問方式,從而實(shí)現(xiàn)測試場景數(shù)據(jù)的確定和埋點(diǎn)數(shù)據(jù)的訪問,因此本實(shí)施例中的HTTP埋點(diǎn)代理服務(wù)器3并非本領(lǐng)域內(nèi)常見的HTTP代理服務(wù)器。
下面結(jié)合圖1中的應(yīng)用場景描述本發(fā)明實(shí)施例中的測試場景數(shù)據(jù)的構(gòu)建方法及裝置、埋點(diǎn)測試方法。
實(shí)施例一
本發(fā)明第一實(shí)施例提供了一種測試場景數(shù)據(jù)的構(gòu)建方法,該方法的執(zhí)行主體為圖1中的HTTP埋點(diǎn)代理服務(wù)器3,圖3為本發(fā)明第一實(shí)施例提供的測試場景數(shù)據(jù)的構(gòu)建方法的一種流程示意圖,如圖3所示,該方法包括以下步驟:
步驟S202,接收客戶端發(fā)送的頁面請求并轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)器。
以圖1中的應(yīng)用場景為例,客戶端2在埋點(diǎn)測試過程中,在腳本服務(wù)器1的觸發(fā)下向HTTP埋點(diǎn)代理服務(wù)器3發(fā)送頁面請求,HTTP埋點(diǎn)代理服務(wù)器3接收客戶端2發(fā)送的頁面請求,并將該頁面請求轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)器4。其中,該頁面請求可以為URL網(wǎng)頁地址,也即網(wǎng)頁鏈接。
通常情況下,在腳本服務(wù)器1運(yùn)行的自動化腳本內(nèi)寫有埋點(diǎn)測試程序,該埋點(diǎn)測試程序設(shè)置了客戶端2發(fā)送的頁面請求的內(nèi)容,客戶端2只需在自動化腳本的控制下發(fā)送設(shè)定好的頁面請求,頁面請求的內(nèi)容與埋點(diǎn)測試需求有關(guān),比如,埋點(diǎn)測試需求為測試購物流程中各個頁面的埋點(diǎn)數(shù)據(jù),則頁面請求的內(nèi)容為對應(yīng)的購物網(wǎng)頁鏈接,又如,埋點(diǎn)測試需求為測試廣告頁面的埋點(diǎn)數(shù)據(jù),則頁面請求的內(nèi)容為對應(yīng)的廣告頁面鏈接。
步驟S204,接收數(shù)據(jù)服務(wù)器根據(jù)該頁面請求返回的頁面數(shù)據(jù)。
以圖1中的應(yīng)用場景為例,數(shù)據(jù)服務(wù)器4接收HTTP埋點(diǎn)代理服務(wù)器3發(fā)送的頁面請求,數(shù)據(jù)服務(wù)器4內(nèi)存儲有實(shí)時的后臺數(shù)據(jù),數(shù)據(jù)服務(wù)器4根據(jù)頁面請求查找實(shí)時的后臺數(shù)據(jù),將查找到的數(shù)據(jù)作為頁面數(shù)據(jù)發(fā)送至HTTP埋點(diǎn)代理服務(wù)器3。HTTP埋點(diǎn)代理服務(wù)器3接收數(shù)據(jù)服務(wù)器發(fā)送的頁面數(shù)據(jù)。
需要說明的是,數(shù)據(jù)服務(wù)器4可以看作是后臺服務(wù)器,其中存儲有實(shí)時的后臺數(shù)據(jù),當(dāng)數(shù)據(jù)服務(wù)器4接收到頁面請求時,能夠根據(jù)頁面請求獲取實(shí)時的頁面數(shù)據(jù),因此該頁面數(shù)據(jù)是真實(shí)的頁面數(shù)據(jù),不是偽造的頁面數(shù)據(jù)。舉例而言,當(dāng)頁面請求為通過百度搜索引擎搜索“火鍋”時,則數(shù)據(jù)服務(wù)器4返回的頁面數(shù)據(jù)為當(dāng)前實(shí)時的跟關(guān)鍵詞“火鍋”相關(guān)的頁面,其中該頁面包括打廣告的商家和未打廣告但和關(guān)鍵詞很相關(guān)的商家,當(dāng)頁面請求為某物品的訂單頁面時,則數(shù)據(jù)服務(wù)器4返回的頁面數(shù)據(jù)為當(dāng)前實(shí)時的該訂單頁面。
步驟S206,根據(jù)該頁面數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)要求之間的匹配情況,確定測試場景數(shù)據(jù)。
具體地,HTTP埋點(diǎn)代理服務(wù)器3判斷頁面數(shù)據(jù)是否滿足預(yù)設(shè)的數(shù)據(jù)要求,若該頁面數(shù)據(jù)滿足預(yù)設(shè)的數(shù)據(jù)要求,則將該頁面數(shù)據(jù)作為測試場景數(shù)據(jù),若該頁面數(shù)據(jù)不滿足預(yù)設(shè)的數(shù)據(jù)要求,則根據(jù)預(yù)設(shè)的數(shù)據(jù)要求對該頁面數(shù)據(jù)進(jìn)行修改,將修改后的頁面數(shù)據(jù)作為測試場景數(shù)據(jù)。其中,預(yù)設(shè)的數(shù)據(jù)要求記錄在上述的配置文件中。
一種情況下,頁面數(shù)據(jù)中包含多個字段,開發(fā)人員在設(shè)計(jì)頁面數(shù)據(jù)時,添加每個字段的內(nèi)容即能夠得到開發(fā)完成的頁面數(shù)據(jù),這種情況下,根據(jù)預(yù)設(shè)的數(shù)據(jù)要求對該頁面數(shù)據(jù)進(jìn)行修改,具體實(shí)現(xiàn)為:確定預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的字段,對頁面數(shù)據(jù)中的該字段的內(nèi)容進(jìn)行編輯,或者,在頁面數(shù)據(jù)中增加該字段,或者,在頁面數(shù)據(jù)中刪除該字段。預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的字段能夠是與廣告鏈接有關(guān)的字段,還能夠是具有標(biāo)準(zhǔn)格式的埋點(diǎn)數(shù)據(jù)的字段,其中,頁面數(shù)據(jù)中的埋點(diǎn)數(shù)據(jù)也由多個字段組成。
比如,當(dāng)埋點(diǎn)測試需求為測試包含廣告鏈接的頁面的埋點(diǎn)數(shù)據(jù)時,預(yù)設(shè)的數(shù)據(jù)要求為頁面數(shù)據(jù)中包含廣告鏈接,預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的字段為與廣告鏈接有關(guān)的字段,如“廣告商序號”、“廣告費(fèi)用”等,在頁面數(shù)據(jù)中增加該字段,并設(shè)置字段的內(nèi)容,從而使頁面數(shù)據(jù)中包含廣告鏈接。
又如,當(dāng)埋點(diǎn)測試需求為測試不包含廣告鏈接的頁面的埋點(diǎn)數(shù)據(jù)時,預(yù)設(shè)的數(shù)據(jù)要求為頁面數(shù)據(jù)中不包含廣告鏈接,預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的字段為與廣告鏈接有關(guān)的字段,如“廣告商序號”、“廣告費(fèi)用”等,刪除頁面數(shù)據(jù)中與廣告鏈接有關(guān)的字段,使得頁面數(shù)據(jù)中不包含廣告鏈接。
又如,當(dāng)埋點(diǎn)測試需求為測試指定位置是廣告鏈接的頁面的埋點(diǎn)數(shù)據(jù)時,預(yù)設(shè)的數(shù)據(jù)要求為,頁面數(shù)據(jù)中對應(yīng)指定頁面位置的數(shù)據(jù)為廣告鏈接,修改頁面數(shù)據(jù)中對應(yīng)指定頁面位置的數(shù)據(jù),具體修改該數(shù)據(jù)中與廣告鏈接有關(guān)的字段,使其變?yōu)閺V告鏈接,從而使修改后的頁面數(shù)據(jù)滿足預(yù)設(shè)的數(shù)據(jù)要求。
再如,由于埋點(diǎn)服務(wù)器具有過濾錯誤的埋點(diǎn)數(shù)據(jù)不予存儲的功能,當(dāng)需要通過埋點(diǎn)測試驗(yàn)證埋點(diǎn)服務(wù)器的該功能時,預(yù)設(shè)的數(shù)據(jù)要求為頁面數(shù)據(jù)包含錯誤的埋點(diǎn)數(shù)據(jù),則此時預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的字段為具有標(biāo)準(zhǔn)格式的埋點(diǎn)數(shù)據(jù)的字段,如埋點(diǎn)數(shù)據(jù)中的“地點(diǎn)”、“時間”字段等,修改頁面數(shù)據(jù)中具有標(biāo)準(zhǔn)格式的埋點(diǎn)數(shù)據(jù)的字段的內(nèi)容,如將“地理坐標(biāo)”的內(nèi)容修改為錯誤格式的內(nèi)容,或者將字段“時間”的內(nèi)容修改為錯誤格式的內(nèi)容,以驗(yàn)證埋點(diǎn)服務(wù)器的過濾功能。
另一種情況下,HTTP埋點(diǎn)代理服務(wù)器中預(yù)先存儲有標(biāo)準(zhǔn)頁面數(shù)據(jù),該標(biāo)準(zhǔn)頁面數(shù)據(jù)滿足預(yù)設(shè)的數(shù)據(jù)要求,該種情況下,根據(jù)預(yù)設(shè)的數(shù)據(jù)要求對該頁面數(shù)據(jù)進(jìn)行修改,具體實(shí)現(xiàn)為:確定預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的標(biāo)準(zhǔn)頁面數(shù)據(jù),利用標(biāo)準(zhǔn)頁面數(shù)據(jù)替換頁面數(shù)據(jù)。
比如,當(dāng)埋點(diǎn)測試的測試需求為測試預(yù)設(shè)的用戶操作對應(yīng)的頁面的埋點(diǎn)數(shù)據(jù)時,預(yù)設(shè)的數(shù)據(jù)要求為,頁面數(shù)據(jù)是預(yù)設(shè)的用戶操作對應(yīng)的頁面數(shù)據(jù),將預(yù)設(shè)的用戶操作對應(yīng)的頁面數(shù)據(jù)存儲為標(biāo)準(zhǔn)頁面數(shù)據(jù),利用標(biāo)準(zhǔn)頁面數(shù)據(jù)替換頁面數(shù)據(jù),從而得到預(yù)設(shè)的用戶操作對應(yīng)的頁面數(shù)據(jù),其中,預(yù)設(shè)的用戶操作包括下單操作、支付操作、退款操作等。
又如,當(dāng)埋點(diǎn)測試的測試需求為測試預(yù)設(shè)的地區(qū)和/預(yù)設(shè)的時間所展示的頁面的埋點(diǎn)數(shù)據(jù)時,預(yù)設(shè)的數(shù)據(jù)要求為,頁面數(shù)據(jù)是預(yù)設(shè)的地區(qū)和/預(yù)設(shè)的時間所展示的頁面數(shù)據(jù),將預(yù)設(shè)的地區(qū)和/預(yù)設(shè)的時間所展示的頁面數(shù)據(jù)存儲為標(biāo)準(zhǔn)頁面數(shù)據(jù),利用標(biāo)準(zhǔn)頁面數(shù)據(jù)替換頁面數(shù)據(jù),從而得到預(yù)設(shè)的地區(qū)和/預(yù)設(shè)的時間所展示的頁面數(shù)據(jù)。
再一種情況下,需要在頁面數(shù)據(jù)中添加指定內(nèi)容,使得頁面數(shù)據(jù)滿足預(yù)設(shè)的數(shù)據(jù)要求,該種情況下,根據(jù)預(yù)設(shè)的數(shù)據(jù)要求對該頁面數(shù)據(jù)進(jìn)行修改,具體實(shí)現(xiàn)為:將預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的數(shù)據(jù)添加到頁面數(shù)據(jù)中,預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的數(shù)據(jù)能夠?yàn)榫W(wǎng)頁鏈接數(shù)據(jù)、圖片數(shù)據(jù)、文檔數(shù)據(jù)、視頻數(shù)據(jù)等。
比如,當(dāng)埋點(diǎn)測試需求為測試包含視頻的網(wǎng)頁的埋點(diǎn)數(shù)據(jù)時,預(yù)設(shè)的數(shù)據(jù)要求為,頁面數(shù)據(jù)中包含視頻數(shù)據(jù),預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的數(shù)據(jù)為視頻數(shù)據(jù),將視頻數(shù)據(jù)添加到頁面數(shù)據(jù)中,得到滿足要求的頁面數(shù)據(jù)。
以圖1中的應(yīng)用場景為例,步驟S206具體為,HTTP埋點(diǎn)代理服務(wù)器3中預(yù)先存儲有配置文件,配置文件中記錄有預(yù)設(shè)的數(shù)據(jù)要求,HTTP埋點(diǎn)代理服務(wù)器3接收到數(shù)據(jù)服務(wù)器4返回的頁面數(shù)據(jù)時,首先判斷頁面數(shù)據(jù)是否滿足預(yù)設(shè)的數(shù)據(jù)要求,若滿足,則將頁面數(shù)據(jù)作為測試場景數(shù)據(jù),若不滿足,則根據(jù)預(yù)設(shè)的數(shù)據(jù)要求對頁面數(shù)據(jù)進(jìn)行修改,將修改后的頁面數(shù)據(jù)作為測試場景數(shù)據(jù)。
通過步驟S206,能夠采用多種方式對頁面數(shù)據(jù)進(jìn)行修改,從而確定滿足預(yù)設(shè)的數(shù)據(jù)要求的測試場景數(shù)據(jù)。
本發(fā)明實(shí)施例中,在確定測試場景數(shù)據(jù)后,還能夠?qū)y試場景數(shù)據(jù)發(fā)送至客戶端,使得客戶端根據(jù)測試場景數(shù)據(jù)顯示埋點(diǎn)測試頁面,從而使客戶端進(jìn)行埋點(diǎn)測試。
以圖1中的應(yīng)用場景為例,HTTP埋點(diǎn)代理服務(wù)器3將測試場景數(shù)據(jù)返回至客戶端2,客戶端2根據(jù)測試場景數(shù)據(jù)顯示埋點(diǎn)測試頁面。當(dāng)腳本服務(wù)器1檢測到客戶端2顯示埋點(diǎn)測試頁面時,觸發(fā)客戶端2啟動埋點(diǎn)數(shù)據(jù)的抓取,并觸發(fā)客戶端2將抓取的埋點(diǎn)數(shù)據(jù)發(fā)送至HTTP埋點(diǎn)代理服務(wù)器3。HTTP埋點(diǎn)代理服務(wù)器3接收客戶端2發(fā)送的埋點(diǎn)數(shù)據(jù),將埋點(diǎn)數(shù)據(jù)存儲在本地埋點(diǎn)日志文件中,以及將埋點(diǎn)數(shù)據(jù)發(fā)送至埋點(diǎn)服務(wù)器5。其中,埋點(diǎn)測試頁面包括多個鏈接,當(dāng)打開一個鏈接時,客戶端2將會向HTTP埋點(diǎn)代理服務(wù)器3發(fā)送該鏈接對應(yīng)的埋點(diǎn)數(shù)據(jù),鏈接打開的動作可以為程序執(zhí)行、也可為用戶觸發(fā)。
本發(fā)明實(shí)施例中,接收客戶端發(fā)送的頁面請求并轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)器,接收數(shù)據(jù)服務(wù)器根據(jù)頁面請求返回的頁面數(shù)據(jù),根據(jù)頁面數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)要求之間的匹配情況,確定測試場景數(shù)據(jù)。由于本發(fā)明實(shí)施例中在構(gòu)建測試場景數(shù)據(jù)時,從數(shù)據(jù)服務(wù)器中獲取與頁面請求對應(yīng)的頁面數(shù)據(jù),在數(shù)據(jù)服務(wù)器外根據(jù)頁面數(shù)據(jù)確定測試場景數(shù)據(jù),而不是在數(shù)據(jù)服務(wù)端直接修改數(shù)據(jù),因此數(shù)據(jù)服務(wù)器只負(fù)責(zé)提供頁面數(shù)據(jù),無需承擔(dān)頁面數(shù)據(jù)修改工作,不過多占用數(shù)據(jù)服務(wù)器資源,且無需服務(wù)器端的開發(fā)人員配合,因此與相關(guān)技術(shù)相比,通過本發(fā)明實(shí)施例中的測試場景數(shù)據(jù)的構(gòu)建方法,數(shù)據(jù)構(gòu)建耗時短,數(shù)據(jù)構(gòu)建方便,能夠解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
另外,本實(shí)施例中,利用數(shù)據(jù)服務(wù)器中實(shí)時的頁面數(shù)據(jù)構(gòu)造埋點(diǎn)測試數(shù)據(jù),構(gòu)造出來的埋點(diǎn)測試數(shù)據(jù)具有真實(shí)度較高的優(yōu)勢,保證埋點(diǎn)測試環(huán)境的真實(shí)性。
進(jìn)一步地,在根據(jù)預(yù)設(shè)的數(shù)據(jù)要求對頁面數(shù)據(jù)進(jìn)行修改之前,還需要確定預(yù)設(shè)的數(shù)據(jù)要求,具體確定過稱為:讀取預(yù)設(shè)的配置文件,獲取預(yù)設(shè)的數(shù)據(jù)要求,其中,預(yù)設(shè)的數(shù)據(jù)要求記錄在配置文件中。其中該預(yù)設(shè)的配置文件即為上述的HTTP埋點(diǎn)代理服務(wù)器3中存儲的配置文件。
以圖1中的應(yīng)用場景為例,HTTP埋點(diǎn)代理服務(wù)器3中預(yù)先存儲有配置文件,配置文件中記錄有預(yù)設(shè)的數(shù)據(jù)要求,HTTP埋點(diǎn)代理服務(wù)器3接收腳本服務(wù)器1發(fā)送的設(shè)置指令,根據(jù)該設(shè)置指令讀取配置文件,將其中的部分內(nèi)容確定為預(yù)設(shè)的數(shù)據(jù)要求。其中,該設(shè)置指令能夠是用戶發(fā)送至腳本服務(wù)器1的,其作用是將配置文件中的部分內(nèi)容確定為預(yù)設(shè)的數(shù)據(jù)要求,該設(shè)置指令與埋點(diǎn)測試需求相對應(yīng)。
本實(shí)施例中,能夠從預(yù)設(shè)的配置文件中獲取預(yù)設(shè)的數(shù)據(jù)要求,不需用戶在埋點(diǎn)測試過程中臨時提供,數(shù)據(jù)要求獲取過程方便易行。
最后,本實(shí)施例中的方法應(yīng)用在HTTP代理服務(wù)器上,多人通過配置不同的數(shù)據(jù)要求能夠進(jìn)行各自的埋點(diǎn)測試,方便多人利用一臺設(shè)備進(jìn)行埋點(diǎn)測試,提高埋點(diǎn)測試的效率,其中,每個人均對應(yīng)有一個數(shù)據(jù)要求,多個數(shù)據(jù)要求對應(yīng)多個埋點(diǎn)測試任務(wù),且多個數(shù)據(jù)要求彼此之間不相互關(guān)聯(lián)。
對應(yīng)圖3中的方法,本發(fā)明實(shí)施例還提供了一種測試場景數(shù)據(jù)的構(gòu)建裝置,該裝置能夠集成在圖1中的HTTP埋點(diǎn)代理服務(wù)器3中,圖4為本發(fā)明第一實(shí)施例提供的測試場景數(shù)據(jù)的構(gòu)建裝置的一種模塊組成示意圖,如圖4所示,該裝置包括:第一接收模塊41,用于接收客戶端發(fā)送的頁面請求并轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)器;第二接收模塊42,用于接收數(shù)據(jù)服務(wù)器根據(jù)頁面請求返回的頁面數(shù)據(jù);數(shù)據(jù)確定模塊43,用于根據(jù)頁面數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)要求之間的匹配情況,確定測試場景數(shù)據(jù)。
具體地,數(shù)據(jù)確定模塊43包括確定子模塊和修改確定子模塊,確定子模塊用于若頁面數(shù)據(jù)滿足預(yù)設(shè)的數(shù)據(jù)要求,則將頁面數(shù)據(jù)作為測試場景數(shù)據(jù),修改子模塊用于若頁面數(shù)據(jù)不滿足預(yù)設(shè)的數(shù)據(jù)要求,則根據(jù)預(yù)設(shè)的數(shù)據(jù)要求對頁面數(shù)據(jù)進(jìn)行修改,將修改后的頁面數(shù)據(jù)作為測試場景數(shù)據(jù)。
一種情況下,修改子模塊具體用于,確定預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的字段,對頁面數(shù)據(jù)中的字段的內(nèi)容進(jìn)行編輯,或者,在頁面數(shù)據(jù)中增加字段,或者,在頁面數(shù)據(jù)中刪除字段,其中,頁面數(shù)據(jù)包括多個字段。
另一種情況下,修改子模塊具體用于,確定預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的標(biāo)準(zhǔn)頁面數(shù)據(jù),利用標(biāo)準(zhǔn)頁面數(shù)據(jù)替換頁面數(shù)據(jù)。
再一種情況下,修改子模塊具體用于,將預(yù)設(shè)的數(shù)據(jù)要求對應(yīng)的數(shù)據(jù)添加到頁面數(shù)據(jù)中。
本發(fā)明實(shí)施例中,接收客戶端發(fā)送的頁面請求并轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)器,接收數(shù)據(jù)服務(wù)器根據(jù)頁面請求返回的頁面數(shù)據(jù),根據(jù)頁面數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)要求之間的匹配情況,確定測試場景數(shù)據(jù)。由于本發(fā)明實(shí)施例中在構(gòu)建測試場景數(shù)據(jù)時,從數(shù)據(jù)服務(wù)器中獲取與頁面請求對應(yīng)的頁面數(shù)據(jù),在數(shù)據(jù)服務(wù)器外根據(jù)頁面數(shù)據(jù)確定測試場景數(shù)據(jù),而不是在數(shù)據(jù)服務(wù)端直接修改數(shù)據(jù),因此數(shù)據(jù)服務(wù)器只負(fù)責(zé)提供頁面數(shù)據(jù),無需承擔(dān)頁面數(shù)據(jù)修改工作,不過多占用數(shù)據(jù)服務(wù)器資源,且無需服務(wù)器端的開發(fā)人員配合,因此與相關(guān)技術(shù)相比,通過本發(fā)明實(shí)施例中的測試場景數(shù)據(jù)的構(gòu)建裝置,數(shù)據(jù)構(gòu)建耗時短,數(shù)據(jù)構(gòu)建方便,能夠解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
進(jìn)一步地,本實(shí)施例中,還包括要求獲取模塊,用于在根據(jù)預(yù)設(shè)的數(shù)據(jù)要求對頁面數(shù)據(jù)進(jìn)行修改之前,讀取預(yù)設(shè)的配置文件,獲取預(yù)設(shè)的數(shù)據(jù)要求,其中,預(yù)設(shè)的數(shù)據(jù)要求記錄在該配置文件中。
本實(shí)施例中,通過要求獲取模塊,能夠從預(yù)設(shè)的配置文件中獲取預(yù)設(shè)的數(shù)據(jù)要求,不需用戶在埋點(diǎn)測試過程中臨時提供,數(shù)據(jù)要求獲取過程方便易行。
對應(yīng)圖3中的方法,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)設(shè)備,圖5為本發(fā)明第一實(shí)施例提供的計(jì)算機(jī)設(shè)備的模塊組成示意圖,如圖5所示,該設(shè)備包括存儲器1000和處理器2000,存儲器1000上存儲有可在處理器2000上運(yùn)行的計(jì)算機(jī)程序,處理器2000運(yùn)行該計(jì)算機(jī)程序時,執(zhí)行上述的測試場景數(shù)據(jù)的構(gòu)建方法。
具體地,存儲器1000和處理器2000能夠?yàn)橥ㄓ玫拇鎯ζ骱吞幚砥鳎@里不做具體限定,當(dāng)處理器2000運(yùn)行存儲器1000存儲的計(jì)算機(jī)程序時,能夠執(zhí)行上述的測試場景數(shù)據(jù)的構(gòu)建方法,從而解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
對應(yīng)圖3中的方法,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)存儲介質(zhì),該計(jì)算機(jī)存儲介質(zhì)上存儲有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器運(yùn)行時,執(zhí)行上述的測試場景數(shù)據(jù)的構(gòu)建方法。
具體地,該存儲介質(zhì)能夠?yàn)橥ㄓ玫拇鎯橘|(zhì),如移動磁盤、硬盤等,該存儲介質(zhì)上的計(jì)算機(jī)程序被運(yùn)行時,能夠執(zhí)行上述的測試場景數(shù)據(jù)的構(gòu)建方法,從而解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
實(shí)施例二
在通過圖3中的方法構(gòu)建測試場景數(shù)據(jù)的基礎(chǔ)上,本發(fā)明第二實(shí)施例提供了一種埋點(diǎn)測試方法,該方法的執(zhí)行主體為圖1中的腳本服務(wù)器1,該方法用于進(jìn)行埋點(diǎn)測試,圖6為本發(fā)明第二實(shí)施例提供的埋點(diǎn)測試方法的流程示意圖,如圖6所示,該流程包括以下步驟:
步驟S302,控制客戶端根據(jù)代理服務(wù)器發(fā)送的測試場景數(shù)據(jù)進(jìn)行埋點(diǎn)測試,其中,測試場景數(shù)據(jù)由代理服務(wù)器采用實(shí)施例一中的測試場景數(shù)據(jù)構(gòu)建方法確定。
以圖1為例,客戶端2接收HTTP埋點(diǎn)代理服務(wù)器3返回的測試場景數(shù)據(jù),腳本服務(wù)器1控制客戶端2根據(jù)該測試場景數(shù)據(jù)顯示埋點(diǎn)測試頁面,并控制客戶端2抓取埋點(diǎn)測試頁面的埋點(diǎn)數(shù)據(jù),將抓取的埋點(diǎn)數(shù)據(jù)發(fā)送至HTTP埋點(diǎn)代理服務(wù)器3。
步驟S304,控制代理服務(wù)器接收客戶端發(fā)送的埋點(diǎn)數(shù)據(jù),并控制代理服務(wù)器將接收到的埋點(diǎn)數(shù)據(jù)發(fā)送至埋點(diǎn)服務(wù)器。
以圖1為例,腳本服務(wù)器1控制HTTP埋點(diǎn)代理服務(wù)器3接收客戶端2在埋點(diǎn)測試過程中發(fā)送的埋點(diǎn)數(shù)據(jù),并控制HTTP埋點(diǎn)代理服務(wù)器3將接收到的埋點(diǎn)數(shù)據(jù)發(fā)送至埋點(diǎn)服務(wù)器5。
步驟S306,根據(jù)代理服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)和埋點(diǎn)服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)的一致性比對結(jié)果確定埋點(diǎn)測試結(jié)果。
以圖1為例,腳本服務(wù)器1比較HTTP埋點(diǎn)代理服務(wù)器3接收到的埋點(diǎn)數(shù)據(jù)和埋點(diǎn)服務(wù)器5接收到的埋點(diǎn)數(shù)據(jù)是否一致,若比對結(jié)果一致,則確定測試成功,否則確定測試失敗。
本實(shí)施例還提供了埋點(diǎn)數(shù)據(jù)的存儲過程,具體為,控制代理服務(wù)器將接收到的埋點(diǎn)數(shù)據(jù)存儲于本地的埋點(diǎn)日志文件中,以及,控制埋點(diǎn)服務(wù)器將接收到的埋點(diǎn)數(shù)據(jù)存儲于本地的埋點(diǎn)日志文件中。
以圖1為例,在HTTP埋點(diǎn)代理服務(wù)器3接收到埋點(diǎn)數(shù)據(jù)之后,腳本服務(wù)器1控制HTTP埋點(diǎn)代理服務(wù)器3將接收到的埋點(diǎn)數(shù)據(jù)存儲于本體的埋點(diǎn)日志文件中,本領(lǐng)域技術(shù)人員能夠理解,這里“本地”的含義指的是HTTP埋點(diǎn)代理服務(wù)器3這臺服務(wù)器,“本體的埋點(diǎn)日志文件”指的是HTTP埋點(diǎn)代理服務(wù)器3這臺服務(wù)器中的埋點(diǎn)日志文件。同樣地,在埋點(diǎn)服務(wù)器5接收到HTTP埋點(diǎn)代理服務(wù)器3發(fā)送的埋點(diǎn)數(shù)據(jù)后,腳本服務(wù)器1控制埋點(diǎn)服務(wù)器5將接收到的埋點(diǎn)數(shù)據(jù)存儲在本地的埋點(diǎn)日志文件中,這里“本地”指的是埋點(diǎn)服務(wù)器5這臺服務(wù)器,“本體的埋點(diǎn)日志文件”指的是埋點(diǎn)服務(wù)器5這臺服務(wù)器中的埋點(diǎn)日志文件。
本實(shí)施例中,腳本服務(wù)器1在執(zhí)行步驟S308之前,還利用統(tǒng)一資源定位符URL格式的訪問請求訪問代理服務(wù)器,獲取代理服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)。
以圖1中的應(yīng)用場景為例,腳本服務(wù)器1向HTTP埋點(diǎn)代理服務(wù)器3發(fā)送第一埋點(diǎn)數(shù)據(jù)訪問請求,第一埋點(diǎn)數(shù)據(jù)訪問請求為URL格式,通過URL格式的訪問請求獲取HTTP埋點(diǎn)代理服務(wù)器3存儲的第一埋點(diǎn)數(shù)據(jù)。
上述的URL格式的埋點(diǎn)數(shù)據(jù)訪問請求舉例為:http://localhost:8080/getlog/?20:09:03,該請求的具體格式為//代理服務(wù)器地址//埋點(diǎn)日志文件標(biāo)識/埋點(diǎn)數(shù)據(jù)接收時間,通過該種格式,能夠獲取埋點(diǎn)服務(wù)器在某個時間點(diǎn)之后的接收到的埋點(diǎn)數(shù)據(jù)。
本實(shí)施中,腳本服務(wù)器1在執(zhí)行步驟S308之前,還獲取埋點(diǎn)服務(wù)接收到的埋點(diǎn)數(shù)據(jù)。具體為,腳本服務(wù)器1向埋點(diǎn)服務(wù)器5發(fā)送第二埋點(diǎn)數(shù)據(jù)訪問請求,獲取埋點(diǎn)服務(wù)器5接收到的第二埋點(diǎn)數(shù)據(jù)。腳本服務(wù)器1能夠采用相關(guān)技術(shù)中的任意方式獲取埋點(diǎn)服務(wù)器5接收到的埋點(diǎn)數(shù)據(jù),這里不做具體限定。
本實(shí)施例中,通過URL格式的埋點(diǎn)日志訪問請求獲取代理服務(wù)器存儲的埋點(diǎn)數(shù)據(jù),與相關(guān)技術(shù)中的通過文件系統(tǒng)本地或者遠(yuǎn)程訪問、或者下載日志文件的方式相比,不存在文件系統(tǒng)兼容問題和服務(wù)器權(quán)限問題,訪問形式一致,腳本編寫十分簡單方便。通過URL格式的埋點(diǎn)日志訪問請求獲取代理服務(wù)器存儲的埋點(diǎn)數(shù)據(jù),與相關(guān)技術(shù)中的登錄代理服務(wù)器訪問埋點(diǎn)日志的方式相比,不需要經(jīng)過繁瑣的登錄和查找,過濾等步驟,不需要隨著代理服務(wù)器的系統(tǒng)的改變而更換登錄方式。
由于本發(fā)明實(shí)施例中,測試場景數(shù)據(jù)由代理服務(wù)器采用實(shí)施例一中的測試場景數(shù)據(jù)構(gòu)建方法確定,因此通過本發(fā)明實(shí)施例中的埋點(diǎn)測試方法,數(shù)據(jù)服務(wù)器只負(fù)責(zé)提供頁面數(shù)據(jù),無需承擔(dān)頁面數(shù)據(jù)修改工作,不過多占用數(shù)據(jù)服務(wù)器資源,且無需服務(wù)器端的開發(fā)人員配合,因此與相關(guān)技術(shù)相比,通過本發(fā)明實(shí)施例中的測試場景數(shù)據(jù)的構(gòu)建裝置,數(shù)據(jù)構(gòu)建耗時短,數(shù)據(jù)構(gòu)建方便,能夠解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
對應(yīng)圖6中的方法,本發(fā)明實(shí)施例提供了一種埋點(diǎn)測試裝置,該裝置能夠集成在圖1中的腳本服務(wù)器1內(nèi),圖7為本發(fā)明第二實(shí)施例提供的埋點(diǎn)測試裝置的模塊組成示意圖,如圖7所示,該裝置包括:第一控制模塊71,用于控制客戶端根據(jù)代理服務(wù)器發(fā)送的測試場景數(shù)據(jù)進(jìn)行埋點(diǎn)測試,其中,測試場景數(shù)據(jù)由代理服務(wù)器采用上述實(shí)施例一中的測試場景數(shù)據(jù)的構(gòu)建方法確定;第一控制模塊72,用于控制代理服務(wù)器接收客戶端發(fā)送的埋點(diǎn)數(shù)據(jù),并控制代理服務(wù)器將接收到的埋點(diǎn)數(shù)據(jù)發(fā)送至埋點(diǎn)服務(wù)器;結(jié)果確定模塊73,用于根據(jù)代理服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)和埋點(diǎn)服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)的一致性比對結(jié)果確定埋點(diǎn)測試結(jié)果。
進(jìn)一步地,該裝置還包括:存儲控制模塊,用于控制代理服務(wù)器將接收到的埋點(diǎn)數(shù)據(jù)存儲于本地的埋點(diǎn)日志文件中,以及,控制埋點(diǎn)服務(wù)器將接收到的埋點(diǎn)數(shù)據(jù)存儲于本地的埋點(diǎn)日志文件中。
進(jìn)一步地,該裝置還包括:第一數(shù)據(jù)獲取模塊,用于利用統(tǒng)一資源定位符URL格式的訪問請求訪問代理服務(wù)器,獲取代理服務(wù)器接收到的埋點(diǎn)數(shù)據(jù);第二數(shù)據(jù)獲取模塊,用于獲取埋點(diǎn)服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)。
本實(shí)施例中,代理服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)存儲于代理服務(wù)器的埋點(diǎn)日志文件中;埋點(diǎn)服務(wù)器接收到的埋點(diǎn)數(shù)據(jù)存儲于埋點(diǎn)服務(wù)器的埋點(diǎn)日志文件中。
由于本發(fā)明實(shí)施例中,測試場景數(shù)據(jù)由代理服務(wù)器采用實(shí)施例一中的測試場景數(shù)據(jù)構(gòu)建方法確定,因此通過本發(fā)明實(shí)施例中的埋點(diǎn)測試裝置,數(shù)據(jù)服務(wù)器只負(fù)責(zé)提供頁面數(shù)據(jù),無需承擔(dān)頁面數(shù)據(jù)修改工作,不過多占用數(shù)據(jù)服務(wù)器資源,且無需服務(wù)器端的開發(fā)人員配合,因此與相關(guān)技術(shù)相比,通過本發(fā)明實(shí)施例中的測試場景數(shù)據(jù)的構(gòu)建裝置,數(shù)據(jù)構(gòu)建耗時短,數(shù)據(jù)構(gòu)建方便,能夠解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
對應(yīng)圖6中的方法,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)設(shè)備,圖8為本發(fā)明第二實(shí)施例提供的計(jì)算機(jī)設(shè)備的模塊組成示意圖,如圖8所示,該設(shè)備包括存儲器3000和處理器4000,存儲器3000上存儲有可在處理器4000上運(yùn)行的計(jì)算機(jī)程序,處理器4000運(yùn)行該計(jì)算機(jī)程序時,執(zhí)行上述的埋點(diǎn)測試方法。
具體地,存儲器3000和處理器4000能夠?yàn)橥ㄓ玫拇鎯ζ骱吞幚砥鳎@里不做具體限定,當(dāng)處理器4000運(yùn)行存儲器3000存儲的計(jì)算機(jī)程序時,能夠執(zhí)行上述的埋點(diǎn)測試方法,從而解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
對應(yīng)圖6中的方法,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)存儲介質(zhì),該計(jì)算機(jī)存儲介質(zhì)上存儲有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器運(yùn)行時,執(zhí)行上述的埋點(diǎn)測試方法。
具體地,該存儲介質(zhì)能夠?yàn)橥ㄓ玫拇鎯橘|(zhì),如移動磁盤、硬盤等,該存儲介質(zhì)上的計(jì)算機(jī)程序被運(yùn)行時,能夠執(zhí)行上述的埋點(diǎn)測試方法,從而解決相關(guān)技術(shù)中在服務(wù)器端直接修改服務(wù)器內(nèi)的數(shù)據(jù),數(shù)據(jù)修改時間長,數(shù)據(jù)修改不方便的問題。
本發(fā)明實(shí)施例所提供的各個裝置可以為設(shè)備上的特定硬件或者安裝于設(shè)備上的軟件或固件等。本發(fā)明實(shí)施例所提供的裝置,其實(shí)現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實(shí)施例相同,為簡要描述,裝置實(shí)施例部分未提及之處,可參考前述方法實(shí)施例中相應(yīng)內(nèi)容。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,前述描述的系統(tǒng)、裝置和單元的具體工作過程,均可以參考上述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本發(fā)明所提供的實(shí)施例中,應(yīng)該理解到,所揭露裝置和方法,可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,又例如,多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明提供的實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋,此外,術(shù)語“第一”、“第二”、“第三”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。
最后應(yīng)說明的是:以上所述實(shí)施例,僅為本發(fā)明的具體實(shí)施方式,用以說明本發(fā)明的技術(shù)方案,而非對其限制,本發(fā)明的保護(hù)范圍并不局限于此,盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),其依然可以對前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改或可輕易想到變化,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改、變化或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍。都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。